反向推包算法 发表于 2023-04-26 | 更新于 2023-06-21 | 阅读次数: 整体流程1234567891011121314151617181920212223242526271. 理解什么是推包和反向推包: 从海量资产中逆向筛选出满足要求的基础资产池,即条件已知反过来推符合条件的2. 模型的实现流程:前期处理->建立模型->求解模型 前期处理: 备选池处理 建立模型: 确定决策变量->决策变量取值限制->建立目标函数->设立约束条件 模型求解: 单纯形法,分支切割法,目前代码使用的是CBC和GLOP要求是线性的: 非线性要转换成线性 a/b>2 转换成a-2b>0使用的是混合整数规划的思想,分成线性规划和纯整数规划.约束条件分成几类,其中规模必须有,按照优先级排序. 全部约束条件获取不到,则依次减少代码层面: 一: 对备选池数据进行筛选 ①按照约束条件进行排序 ②排序完,需要针对约束条件获取到最少获取的资产数量,目的是减少计算过程,省得浪费时间 1)按照资产规模上限,使用累计值,获取最低索引位置 2)按照2和3的资产规模限制获取最低的索引位置 3)当没有排序只有枚举值时候,使用枚举条件的第一个获取该字段大于0的最大索引和三倍规模上限获取最小的值. (3倍最大规模所在位置)总次数TOTAL_TIME 的获取逻辑是什么,没看懂glop_cha=0.00的作用是什么跑这个代码对服务器的要求是怎么样的,内存,cpu 笔记121. File_parameter存放各个文件的地址,包含线性规划限制条件Parameter.csv,推包结果集result.csv. 资产池文件Asset_IN_10w.csv核心点就是Parameter文件