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題中第四問寫的方式。完整版評論區自提。
總結
以上是生活随笔為你收集整理的2020五一建模C题:饲料混合加工问题完整论文(附录有代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件设计和设计的问题
- 下一篇: 经典蝙蝠算法MATLAB实现