2023五一数模b题思路分享
| B題:快遞需求分析問題 網絡購物作為一種重要的消費方式,帶動著快遞服務需求飛速增長,為我國經濟發展做出了重要貢獻。準確地預測快遞運輸需求數量對于快遞公司布局倉庫站點、節約存儲成本、規劃運輸線路等具有重要的意義。附件1、附件2、附件3為國內某快遞公司記錄的部分城市之間的快遞運輸數據,包括發貨日期、發貨城市以及收貨城市(城市名已用字母代替,剔除了6月、11月、12月的數據)。請依據附件數據,建立數學模型,完成以下問題: |
????????為了準確預測快遞運輸需求數量,可以考慮以下幾個方面的因素:
????????1.時間因素:不同季節、不同時間段的快遞運輸需求量可能存在明顯的差異,因此需要對時間因素進行分析。
????????2.城市因素:不同城市之間的人口、經濟、物流等情況存在差異,這些差異可能會對快遞運輸需求量產生影響,因此需要對城市因素進行分析。
????????3.快遞公司因素:不同的快遞公司的市場份額、服務質量等因素也可能會影響快遞運輸需求量,因此需要考慮快遞公司因素。
????????基于以上分析,可以建立如下的數學模型:
????????設 $Q_{ij}$ 表示從城市 $i$ 發往城市 $j$ 的快遞運輸需求量,$T_{t}$ 表示時間因素,$C_{i}$ 表示城市因素,$E_{k}$ 表示快遞公司因素,$P_{ij}$ 表示從城市 $i$ 發往城市 $j$ 的快遞價格。
????????則可以建立如下的多元回歸模型:
?
????????其中,$\epsilon_{ij}$ 表示誤差項,$\beta_{0}$、$\beta_{1}$、$\beta_{2}$、$\beta_{3}$、$\beta_{4}$ 分別為常數和系數。
????????為了建立模型,需要先進行數據分析以及可視化處理,方便尋找出該數據集的規律等情況,統計每個城市的發貨量、收貨量、發貨時間等數據,并對這些數據進行預處理,如歸一化處理、缺失值處理等。
????????然后,可以使用多元線性回歸方法對模型進行擬合,并使用交叉驗證等方法對模型進行評估。最后,可以使用擬合好的模型來預測未來的快遞運輸需求量,并根據預測結果進行倉庫站點布局、運輸線路規劃等決策。
| 問題1:附件1為該快遞公司記錄的2018年4月19日—2019年4月17日的站點城市之間(發貨城市-收貨城市)的快遞運輸數據,請從收貨量、發貨量、快遞數量增長/減少趨勢、相關性等多角度考慮,建立數學模型,對各站點城市的重要程度進行綜合排序,并給出重要程度排名前5的站點城市名稱,將結果填入表1。 |
????????為了分析站點城市的重要程度,可以從收貨量、發貨量、快遞數量增長/減少趨勢、相關性等多個方面考慮。具體分析步驟如下:
????????1.數據預處理
????????首先,需要對附件1中的數據進行預處理,包括刪除缺失值、對日期進行處理等。
????????2.收貨量和發貨量分析
????????可以計算每個站點城市的收貨量和發貨量,并對其進行排序,以確定收發貨量的高低。同時,可以計算每個城市的總運輸量(即收貨量和發貨量之和),以評估城市的總體重要程度。
????????3.快遞數量增長/減少趨勢分析
????????為了確定每個城市的快遞數量增長/減少趨勢,可以使用時間序列分析方法。具體地,可以使用移動平均法和指數平滑法等方法,對每個城市的快遞數量進行預測,并計算出每個城市的年度增長率。
????????4.相關性分析
????????為了確定每個城市之間的相關性,可以計算每個城市之間的相關系數,并使用相關性矩陣來可視化相關性。
????????綜合考慮上述四個方面的因素,可以建立如下的數學模型:
????????設?$S_i$ 表示城市 $i$ 的總體重要程度,$R_i$ 表示城市 $i$ 的收貨量排名,$F_i$ 表示城市 $i$ 的發貨量排名,$G_i$ 表示城市 $i$ 的快遞數量增長率,$M_{i,j}$ 表示城市 $i$ 和城市 $j$ 之間的相關系數。
| ?問題2:請利用附件1數據,建立數學模型,預測2019年4月18日和2019年4月19日各“發貨-收貨”站點城市之間快遞運輸數量,以及當日所有“發貨-收貨”站點城市之間的總快遞運輸數量,并在表2中填入指定的站點城市之間的快遞運輸數量,以及當日所有“發貨-收貨”站點城市之間的總快遞運輸數量。 |
????????本題需要進行時間序列預測,我們可以選擇使用ARIMA模型。
????????首先,讀入附件1的數據,提取出2019年4月18日和2019年4月19日的數據,并將其轉換為時間序列數據。
pythonCopy codeimport pandas as pdimport numpy as npfrom statsmodels.tsa.arima.model import ARIMA# 讀取附件1的數據data = pd.read_excel('附件1.xlsx')# 提取2019年4月18日和2019年4月19日的數據data_0418 = data.loc[data['發貨日期'] == pd.to_datetime('2019-04-18')]data_0419 = data.loc[data['發貨日期'] == pd.to_datetime('2019-04-19')]# 將數據轉換為時間序列ts_0418 = data_0418.groupby(['發貨城市', '收貨城市'])['快遞單號'].count().sort_index()ts_0419 = data_0419.groupby(['發貨城市', '收貨城市'])['快遞單號'].count().sort_index()然后,我們需要對時間序列進行平穩性檢驗和差分處理,以使其滿足ARIMA模型的要求。from statsmodels.tsa.stattools import adfuller# 平穩性檢驗函數def test_stationarity(timeseries):# 計算移動平均和移動方差rolmean = timeseries.rolling(window=12).mean()rolstd = timeseries.rolling(window=12).std()# 繪制移動平均和移動方差圖import matplotlib.pyplot as pltplt.plot(timeseries, color='blue', label='Original')plt.plot(rolmean, color='red', label='Rolling Mean')plt.plot(rolstd, color='black', label='Rolling Std')plt.legend(loc='best')plt.show()# 進行ADF檢驗print('Results of ADF Test:')dftest = adfuller(timeseries, autolag='AIC')dfoutput = pd.Series(dftest[0:4], index=['Test Statistic', 'p-value', '#Lags Used', 'Number of Observations Used'])for key, value in dftest[4].items():dfoutput['Critical Value (%s)' % key] = valueprint(dfoutput)# 對時間序列進行平穩性檢驗test_stationarity(ts_0418)test_stationarity(ts_0419)# 對時間序列進行差分處理ts_0418_diff = ts_0418.diff().fillna(0)ts_0419_diff = ts_0419.diff().fillna(0)接著,我們需要確定ARIMA模型的參數。我們可以使用AIC(赤池信息準則)來評估模型的好壞,選擇AIC值最小的模型作為最終模型。在這里,我們選擇ARIMA(1,1,1)作為模型。pythonCopy code# 確定ARIMA模型的參數model = ARIMA(ts_0418_diff, order=(1, 1, 1))result = model.fit()# 輸出模型的AIC值| 問題4:圖1給出了所有站點城市間的鐵路運輸網絡,鐵路運輸成本由以下公式計算: 。在本題中,假設實際裝貨量允許超過額定裝貨量。所有鐵路的固定成本、額定裝貨量在附件3中給出。在運輸快遞時,要求每個“發貨-收貨”站點城市對之間使用的路徑數不超過5條,請建立數學模型,給出該快遞公司成本最低的運輸方案。利用附件2和附件3的數據,計算該公司2023年4月23—27日每日的最低運輸成本,填入表4。 備注:為了方便計算,不對快遞重量和大小進行區分,假設每件快遞的重量為單位1。僅考慮運輸成本,不考慮中轉等其它成本。 |
????????本題需要建立一個最小成本網絡流模型來求解該快遞公司成本最低的運輸方案。以下是解題步驟:
????????1.確定網絡流模型中的節點和邊
????????根據題目給出的鐵路運輸網絡,我們可以將每個站點城市看作一個節點,將鐵路運輸線路看作有向邊,每條邊上的流量代表運輸的快遞數量,邊上的成本代表鐵路運輸成本。為了滿足每個“發貨-收貨”站點城市對之間使用的路徑數不超過5條的要求,我們需要為每個“發貨-收貨”站點城市對之間建立多個虛擬節點,使得這些虛擬節點在網絡中形成一棵樹,每個“發貨-收貨”站點城市對之間的路徑數量不超過5條,同時保證每個虛擬節點只有一條入邊和一條出邊。
????????2.確定網絡流模型中的參數
????????節點和邊已經確定,我們需要為每個節點和邊分別確定其對應的參數:
????????3.節點參數
????????每個節點需要確定其對應的供應量和需求量。對于每個站點城市,其供應量為所有需要從該城市發出的快遞數量,需求量為所有需要到達該城市的快遞數量。對于每個虛擬節點,其供應量和需求量均為0。
????????邊參數
????????每條邊需要確定其對應的容量和單位成本。對于鐵路運輸線路,其容量為額定裝貨量,單位成本為給定的鐵路運輸成本。對于虛擬節點與其相鄰的邊,其容量為正無窮大,單位成本為0。
????????建立數學模型
????????我們可以將上述信息匯總成一個線性規劃模型,其中目標函數為總運輸成本,約束條件包括每個節點的供應量等于其需求量的和,每條邊的流量不超過其容量,以及每個“發貨-收貨”站點城市對之間使用的路徑數不超過5條。該模型可以表示為:
??????
| ??問題5:通常情況下,快遞需求由兩部分組成,一部分為固定需求,這部分需求來源于日常必要的網購消費(一般不能簡單的認定為快遞需求歷史數據的最小值,通常小于需求的最小值);另一部分為非固定需求,這部分需求通常有較大波動,受時間等因素的影響較大。假設在同一季度中,同一“發貨-收貨”站點城市對的固定需求為一確定常數(以下簡稱為固定需求常數);同一“發貨-收貨”站點城市對的非固定需求服從某概率分布(該分布的均值和標準差分別稱為非固定需求均值、非固定需求標準差)。請利用附件2中的數據,不考慮已剔除數據、無發貨需求數據、無法正常發貨數據,解決以下問題。 (1) 建立數學模型,按季度估計固定需求常數,并驗證其準確性。將指定季度、指定“發貨-收貨”站點城市對的固定需求常數,以及當季度所有“發貨-收貨”城市對的固定需求常數總和,填入表5。 (2) 給出非固定需求概率分布估計方法,并將指定季度、指定“發貨-收貨”站點城市對的非固定需求均值、標準差,以及當季度所有“發貨-收貨”城市對的非固定需求均值總和、非固定需求標準差總和,填入表5。 |
????????對于驗證其準確性,可以將每個季度每個“發貨-收貨”站點城市對的固定需求常數估計值與該站點城市對在所有季度內的平均快遞數量進行比較,若兩者差異較小,則說明固定需求常數的估計值準確。
????????2.一種常用的非固定需求概率分布是正態分布。根據中心極限定理,快遞需求的總體分布趨于正態分布。因此,可以通過計算每個“發貨-收貨”站點城市對在所有季度內的快遞數量的均值和標準差來估計其非固定需求的均值和標準差。以2019年第一季度北京-上海站點城市對為例,其數據如下:
總結
以上是生活随笔為你收集整理的2023五一数模b题思路分享的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RTOS--初学
- 下一篇: 安装thinkphp