原创开源思路下载链接,允许转卖
链接:https://pan.baidu.com/s/13aSy2-hlkLa7Ps8wknYY1Q
提取码:gap4
这里有百种算法出处整理,本题算法可从上面找取:
给裸赛的家人们整理了百种算法出处https://mp.weixin.qq.com/s/OhWRCeep885MuyhMhvdiOw
这道题是优化问题,先看看题目,以下为题目告知的条件和目标函数
条件:
①生产48周,每周产能2.82wm³,折合每周需要A类原材料1.692wm³或B原材料1.8612wm³或C原材料2.0304wm³;
②24周的原材料订购和转运计划,那么相当于平均每周需要送达的材料能够满足5.64wm³,这里是包含了订购及转运时间加起来共计24周以内要完成,如果考虑8家转运商满负荷运转以及平均损耗,那么一天送达的就有4.75wm³,就算是按最低的材料置换产能的比例也能大于5.64wm³,所以运输这块没啥问题,接下来看供应商供应能力,如果也按取平均,那么肯定是不够的,所以可以取最大供应量的周数据作为该供应商最大供应能力的体现
③A类和B类原材料的采购单价分别比C类原材料高20%和10%,那么就假设C单位立方米成本为1,A成本为1.2,B成本为1.1;
④三类原材料运输和储存的单位费用相同,一般运输一批货物只算单次运输的费用,这里的储存费用就不用按照每周多少来考虑,如果要考虑,那么就要涉及到储存的材料使用情况,毕竟边供应边生产;
⑤我们可以就假设当周订货当周送达
目标函数:
一家供应商每周供应的原材料尽量由一家转运商运输,也就是说供应商数要少,供应商数可作为一目标函数
接下来看问题
第一问确定50家最重要的供应商,一般的都是从供应情况去看,这里可以确定一些指标,然后进行评价,最后评分最高Top50作为本问结果,可以考虑以下指标:
①供应商都是只供应一种原料,那么就会有材料得性价比,算一下哪一个原材料经济效益最高,用1/[0.6 0.66 0.72]=[1.67 1.52 1.39],然后再去除下单价/[1.2 1.1 1]=[1.3889 1.3774 1.3889],然后各供应商按供应的原材料对应,将这个结果作为第一个指标,指标越大越好
②供应商最大供应能力,最大供应量并换算为产能,指标越大越好
③供应商平均供应能力,平均供应量并换算为产能,指标越大越好
④供应商供应得稳定性,对历史供应数据,做下方差,指标越小越好
⑤历史供应量/历史订单量比,指标越大越好
。。。
除了以上指标大家还可以多增加一些,然后用评价算法评价后排序即可,第一问评价可以用多种算法例如投影寻踪、熵权法、Tosis等评价,然后在通过组合评价方法例如Borda求一个综合性的评价值,然后进行排序,但是注意这里对数据进行标准化时有一个问题,客观算法可能会存在偏离主观的现象,可以这么来做,对于你们认为的重要性小的指标可以通过ln(β+x)函数映射,这样能够减少该指标对最后结果的影响
第二问,A、C类原材料经济效益最高,我们发现C类原材料运输费用和储存费用要比AB较高,因为置换为产能需要更多的供应量,并且供应C类材料的供应商是最少的,在本问,考虑供应商的最大供应能力即可,但是为了方便运算,最好是再增加一个产能计算,最大供应能力就以历史5年中供应量最大的一周作为起最大供应能力,对于转运商的运输损耗,可以直接取平均,也可以预测未来24周的每周的损耗都可以,前者更简单,对于本问建模部分,采用优化算法进行多目标求解,目标函数有:1、供应商数最少,2、总成本=运输成本+储存成本=2*运输成本最低;约束条件有:1、24周从供应到转运结束的原材料转化为产能要达标,2、只有24周转运时间,3、每周至多送达8*6000*损耗,4、每周至多订购8*6000的供货量。为了降低寻优维度,可以增加这样一个优先条件,C原材料置换为产能置换率最低,那么C原材料就优先用损耗较大转运商转运,这样对整体的产能损耗较小,其次为B
第二问设计启发式算法如下:
第三问,尽量多地采购 A 类和尽量少地采购 C 类原材料,以减少转运及仓储的成本,同时希望转运商的转运损耗率尽量少,本问在第二问基础上增加一个目标函数A类原材料-C材料采购量为目标函数,同样按第二问方法来做
第四问,只考虑产能,转运商运能拉满情况下去选择供应商,每周最多订6000m³*8=4.8wm³,考虑所有Top50供应商日均ABC类最大供应量,在第二问基础上,第四问增加一个目标函数为产能的最大化,同样按第二问做法来做,但题目说的很明确了,A类材料才是最合适的材料,但是第二问算法中涉及到k个供应商的选取,那么第四问实则就只是选择最佳供应商而已,对于供应量,按A、B、C类原材料的供应商依次按最大供应量选取,直到供应量达到4.8wm³为止,对于选择转运商还是按第二问默认的规则来,C类材料给损耗率最大的转运商
本题目优与供应商数会发生变化,建议通过模拟退火算法框架进行寻优