主頁 > 軟體設計 > 2021數學建模國賽思路 已修訂

2021數學建模國賽思路 已修訂

2021-09-11 21:12:26 軟體設計

2021數學建模國賽A題思路 2021數學建模國賽A題思路 2021數學建模國賽A題思路 2021數學建模國賽B題思路 2021數學建模國賽B題思路 2021數學建模國賽B題思路 2021數學建模國賽C題思路 2021數學建模國賽C題思路 2021數學建模國賽C題思路 2021數學建模國賽D題思路 2021數學建模國賽D題思路 2021數學建模國賽D題思路 2021數學建模國賽E題思路 2021數學建模國賽E題思路 2021數學建模國賽E題思路

目錄

A “FAST”主動反射面的形狀調節

B 乙醇偶合制備C4烯烴

C 生產企業原材料的訂購與運輸

D 連鑄切割的在線優化

E 中藥材的鑒別


?已出:

國賽A題第一版思路 FAST主動反射面的形狀調節(已修訂)

國賽B題第一版思路 乙醇偶合制備C4烯烴(已修訂)

國賽C題第一版思路 生產企業原材料的訂購與運輸(已修訂)

國賽D題第一版思路 連鑄切割的在線優化

國賽E題第一版思路 中藥材的鑒別

思路檔案下載鏈接(后續更新后也會更新網盤):

鏈接:https://pan.baidu.com/s/13aSy2-hlkLa7Ps8wknYY1Q

提取碼:gap4

這里有百種演算法出處整理,國賽題演算法可從上面找取:

https://mp.weixin.qq.com/s/OhWRCeep885MuyhMhvdiOwhttps://mp.weixin.qq.com/s?__biz=MzU0OTEyNjAyMQ==&mid=2247487727&idx=1&sn=e6e440ee141e8fa441e5b4709abff18a&scene=21#wechat_redirect

A “FAST”主動反射面的形狀調節

附件1畫的圖,為每塊反射面鏈接主鎖節點的位置

X=xlsread('附件1.csv');
figure
plot3(X(:,1),X(:,2),X(:,3),'*')

附件2畫的圖,每個主鎖有上下兩端點,為什么要給呢,一是主鎖傾斜方向就是促動器的作用力方向,就算是之后的作業狀態主鎖的傾斜方向也不會有太大變化,可忽略;二是結合附件1可以得到每塊反射面基準態時的傾斜方向角度,因為每塊反射面的角點與其對應的主鎖上端點的距離是固定的,需要先計算出來

X=xlsread('附件2.csv');
figure
plot3(X(:,1),X(:,2),X(:,3),'b*')
hold on
plot3(X(:,4),X(:,5),X(:,6),'r*')

有些同學會發現,附件1和附件2的上端點對不上,確實是的,但是每個上端點與反射面角點的間距是固定的,所以后面改變下拉索伸縮時,反射面角點的位置有了與主鎖上端點距離,以及主鎖方向上的拉伸可以重新計算出反射面角點的位置

附件3結合附件1畫的圖

[~,~,X1]=xlsread('附件1.csv');
[~,~,X2]=xlsread('附件3.csv');
X1=string(X1);X2=string(X2);
X1(1,:)=[];X2(1,:)=[];
figure
hold on
a=[];b=[];c=[];
for i=1:size(X2,1)
    a=find(X1(:,1)==X2(i,1));
    b=find(X1(:,1)==X2(i,2));
    c=find(X1(:,1)==X2(i,3));
    plot3(double(X1([a,b,c],2)),double(X1([a,b,c],3)),double(X1([a,b,c],4)),'b-*')
end

中國天眼圖,這道題可以不用考慮每個主鎖節點和反射面的重量,題目也沒給,實際中就算是有重量,基準態時促進器也會給予一定作用力來保持球面形貌,在這道題中我們就假設基準球面是一個球形面,并且作業態時的照射面會形成一個橢球形面

題目中的α和β為方位角和仰角,注意α是x與y軸的夾角,β是CS線與xy平面的夾角

來看下附錄:第7點需要理解下

基準狀態下,促動器頂端徑向伸縮量為0,其徑向伸縮范圍為-0.6~+0.6 米,這個條件就是剛剛說到的基準態時促進器也會給予一定作用力來保持圓球形貌,所以會有一個伸縮控制范圍,但是需要注意調整作業拋物面需要促動器聯動,那么如何分析呢,其實SC直線與基礎球形面的垂線的交點就是照射面的中心,那么我們可以認為該中心的下拉索收縮幅度是最大的,而照射面邊界點的下拉索會有一定伸長,其伸長是所有主索最大的,其實我們結合實際想想,最后會形成一個照射面截面為圓的橢球體面,那么空間的橢球體公式為(x-x1)2/a2+(y-y1)2/b2+(z-z1)2/c2=1,其中(x1,y1,z1)為橢球體的中心點,我們可以取一些參考點來推算該公式,為了多將光線反射至饋源艙,肯定照射面中心會有合理的凹陷,那么對于邊界點的下拉索也有合理的伸長

下面理想拋物線

上面還不理解就看下圖,其實理想拋物面就是橢球體一部分,照射區應當為橢球體形貌,那么本文為了好做分析,可以直接用橢球體方程,只求照射面沒什么影響,照射面就是下圖紅色實線部分,接下來我們找一下參考點去推算公式,第一個照射面中心點就是SC垂線與基礎球面的的交點,然后計算作業時下拉索收縮后該點的位置,然而具體收縮多少是我們后面要尋優的;然后找出基礎球形面上到達SC直線近似150m距離的點,作為照射區的邊界點,對于該類參考點,計算作業時下拉索伸長后該點的位置,同樣的對于伸長多少,這里也是需要尋優的,不管怎么樣即使第二類參考點也要收縮,那也要比第一個參考點收縮更小一點;有了這兩類點,我們還缺橢球體公式中的中心點(x1,y1,z1),但是大家想想我們知道了邊界點和中心點,但是未知其他位置的作業時的形貌,只知道是一個理想的拋物面,也就是的橢球體面,然而橢球體的中心點位置是會影響到其余照射區的形貌的,但是我們能知道橢球體的中心點在SC直線上,這里我們可以對橢球體中心點到照射中心點的距離進行尋優,從而推出橢球體公式;以上三類點足夠推出該橢球體公式了,至于照射區域,參考題目給的圖4,就考慮最大照射區就行,然后尋優得到他的形貌公式,有了該橢球體公式,橢球主軸又與SC直線重合,接下來分別求基礎圓面和橢球體與SC的交點,然后以基礎圓面上各節點與SC直線的交點做弧長距離,按該距離取對應橢球體面上找到相應的位置,通過計算照射區內前后位置變化就可以求得各節點對應的主索伸縮情況

這道題本是一個優化問題,可以觀察這幅圖可以看一下作業區的形貌變化

第一問自變數有照射中心的主索伸縮量、照射區邊界點主索伸縮量(照射區邊界點主索伸縮量應當相同)、橢球體中心到照射中心的距離(先有照射中心主索伸縮量在生成該引數),以上引數會得到一個橢球體面,基礎圓面和橢球體面與SC直線會得到兩個交點,根據弧長距離對應取得照射區主索的更新位置,然后計算主索的伸縮量,要找到最優的拋物面,肯定是要求更多的反射片能夠反射至饋源艙內,饋源艙為直徑為1m的圓,反射片為三角形,如下圖,只要反射的光線能涵蓋饋源艙部分都可以算是反射成功,目標函式可以定位能夠將目標反射至饋源艙的反射片數,第三問在考慮反射的面積,這里還要計算出各三角形反射片的角點,以確定其傾斜方向,然后去算反射線能達到饋源艙,對于光線反射問題,反射片的垂線作為主軸去算就行,可能程式有點繁瑣

第一問就考慮正上方的天體,第二問考慮其他位置的,大家也不用去糾結前面講的照射區,按α=36.795°,β=78.169°方向,注意方向是以基礎圓面中心垂直線來參考的角度的,按SC線算的的照射區口徑差不多就是300m了,第二問沒有給天體高度距離來算,或者如果想討論不同天體高度距離也可以,天體所處位置方向不變就行,第二問同樣按照第一問模型來做尋優

第三問則是要考慮上每塊反射片,反射光線后能照射到饋源艙圓形上的面積之和,目標函式改為這個其他步驟同理,最后就基礎球面對比

B 乙醇偶合制備C4烯烴

首先來看下這道題的邏輯,第一問找關系式,第二問比較催化劑組合,第三問尋優,第四問增設實驗

可能會有小伙伴去考慮除乙醇轉化率、C4烯烴選擇性以外的指標,

其實這個表的意思是,在這種催化劑組合下,以及恒定溫度及添加的乙醇速率條件下,達到反應平衡時,有2.07的乙醇轉化為了右邊幾類化學物質,題目要求分析C4,那就只分析C4就行,如果看覺得內容少還可以自行增加一些分析

第一問首先分別找到乙醇轉化率、C4烯烴的選擇性與溫度的關系式,求關系式演算法可以參考下面幾篇推文,也可以用1stopt軟體進行擬合,21種組合都要求下溫度與乙醇轉化率、C4烯烴的選擇性的關系式

最小二乘與非線性最小二乘(Matlab)https://mp.weixin.qq.com/s/Jl4Zkx-TK6fCNN4tgd47jQ

逐步回歸補充篇——確定經驗公式https://mp.weixin.qq.com/s/zmN7QrbusZLNRjw-8gJcBg

接下來分析附件2結果,附件2中273分鐘時,乙醇轉化率已穩定,C4烯烴選擇性變化都很小,這個時候我們可以認為273分鐘已經達到了平衡,接下來就用350攝氏度、乙醇轉化率29.9%、C4烯烴選擇性39.04%與附件1中的實驗進行匹配,選出差別最小的作為該給定的催化劑組合,這里匹配簡單做法直接算距離,也可以水論文用機器學習演算法做,對附件2不用做時間與各項指標的關系曲線,后問也用不上,想多做一點分析也可以,

第二問,其實就是要讓你們找哪一個對照試驗比較好,對照試驗一般使用的是方差分析,可以分別求得對照組內某因素是否對乙醇轉化率、C4烯烴選擇性結果顯著影響,如果顯著影響那么影響程度怎么樣,p值是多少,p值月低越好,此外還要看下這組對照試驗中出現最好的結果(乙醇轉化率以及C4烯烴選擇性)分別是多少,這樣可以得到四個指標,然后采用評價演算法對不同對照試驗組進行評價,評價可以用多種演算法例如投影尋蹤、熵權法、Tosis等評價,然后在通過組合評價方法例如Borda求一個綜合性的評價值,然后進行排序,但是注意這里對資料進行標準化時有一個問題,客觀演算法可能會存在偏離主觀的現象,可以這么來做,對于你們認為的重要性小的指標可以通過ln(β+x)函式映射,這樣能夠減少該指標對最后結果的影響,

方差分析(單因素、雙因素、不均勻樣本)

方差分析(Matlab)https://mp.weixin.qq.com/s/rdvmOjClKNUhD9_S-x_rqQ

本問主要用方差分析去找到比較好的對照實驗方式,題目說探討不同催化劑組合及溫度對乙醇轉化率以及C4烯烴選擇性大小的影響,其實就是說怎樣的對照試驗中溫度對結果的影響是最大的,并且實驗結果中能產生不錯的結果,那么第三問就基于此進行研究

接下來找一找對照試驗組,題目說的1wt%Co/SiO2沒有表述清楚,/SiO2就說明SiO2為主要基體,Co在這個基體中的質量占總質量的1%,也就是如果有100mg1wt%Co/SiO2,那么就有1mgCo,99mgSiO2,石英砂就是SiO2,我們對附件1第二列資訊歸納下

我們來找一下對照試驗組

①按Co-SiO2-HAP質量比例為1-100-100且三者質量相等的實驗組,但乙醇添加速率不同,共找到6組,去掉重復實驗實則為4組

然后我們按不均勻樣本取數,以不同溫度下乙醇轉化率結果為例

然后通過方差分析求該對照試驗組中的引數條件是否對結果構成顯著影響

X=[19.7 29 40 58.6 76 6.3 8.8 13.2 31.7 56.1 1.4 3.5 6.9 19.9 44.5 1.4 3.4 6.7 19.3 43.6 2.1 3 4.7 13.4 40.8 2.1 3.8 5.8 9.8 15.9 45];
group=[ones(1,5),2.*ones(1,5),3.*ones(1,10),4.*ones(1,11)];
[p,anovatab,stats]=anova1(X,group);%單因素方差分析
fa=finv(0.95,anovatab{2,3},anovatab{3,3});%計算fa
F=anovatab{2,5};%F值
if p<=0.01 && F>fa
    disp('非常顯著')
elseif p<=0.05 && F>fa
    disp('顯著')
else
    disp('不顯著')
end

②,,,

其他實驗組自己篩選,同①找三個引數相同一個引數不同的對照組實驗

在比較出較好對照試驗組后,然后同問題一中的方法分析該對照試驗組下溫度對結果的影響,如果是Co或SiO2或HAP或乙醇速率對照實驗組,那還需要分析哪一個引數在同一溫度下對結果(對乙醇轉化率、C4烯烴選擇性大小)的影響,可以擬合出關系式,第二問最后的分析,需要看你們得到的最優對照試驗組結果,

第三問,基于第二問結果以C4烯烴收率為目標函式(C4烯烴收率=乙醇轉化率*C4烯烴的選擇性),基于第三問的關系是,并設立,實驗引數及溫度范圍對目標函式進行尋優,優化演算法系列推文見下鏈接

https://mp.weixin.qq.com/mp/homepage?__biz=MzU0OTEyNjAyMQ==&hid=25&sn=4dd5f9b697c058388b9efba1372f7e34&scene=18&uin=&key=&devicetype=Windows+10+x64&version=63030532&lang=zh_CN&ascene=7&fontgear=2https://mp.weixin.qq.com/mp/homepage?__biz=MzU0OTEyNjAyMQ==&hid=25&sn=4dd5f9b697c058388b9efba1372f7e34&scene=18&uin=&key=&devicetype=Windows+10+x64&version=63030532&lang=zh_CN&ascene=7&fontgear=2

第四問,這里的實驗肯定是第二問定下來的實驗,一般做實驗,都會等間距的設定引數,是找出最佳實驗條件所處大致區間,這里可以采用黃金分割法這類方法去增設對照實驗,例如第二問確定以Co、SiO2、HAP比例為1:100:100且不同乙醇添加速率的對照實驗,參考第三問結果,我會去看最佳乙醇速率設定多少較好,就會在周圍設立不同精度的引數,再次得到結果看是否會出現更好的結果,一般設定這樣的引數實驗,采用的是黃金分割法或者1/2法去設定

C 生產企業原材料的訂購與運輸

這道題是優化問題,先看看題目,以下為題目告知的條件和目標函式

條件:

①生產48周,每周產能2.82wm3,折合每周需要A類原材料1.692wm3或B原材料1.8612wm3或C原材料2.0304wm3;

②24周的原材料訂購和轉運計劃,那么相當于平均每周需要送達的材料能夠滿足5.64wm3,這里是包含了訂購及轉運時間加起來共計24周以內要完成,如果考慮8家轉運商滿負荷運轉以及平均損耗,那么一天送達的就有4.75wm3,就算是按最低的材料置換產能的比例也能大于5.64wm3,所以運輸這塊沒啥問題,接下來看供應商供應能力,如果也按取平均,那么肯定是不夠的,所以可以取最大供應量的周資料作為該供應商最大供應能力的體現

③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材料采購量為目標函式,同樣按第二問方法來做

第四問,只考慮產能,轉運商運能拉滿情況下去選擇供應商,每周最多訂6000m3*8=4.8wm3,考慮所有Top50供應商日均ABC類最大供應量,在第二問基礎上,第四問增加一個目標函式為產能的最大化,同樣按第二問做法來做,但題目說的很明確了,A類材料才是最合適的材料,但是第二問演算法中涉及到k個供應商的選取,那么第四問實則就只是選擇最佳供應商而已,對于供應量,按A、B、C類原材料的供應商依次按最大供應量選取,直到供應量達到4.8wm3為止,對于選擇轉運商還是按第二問默認的規則來,C類材料給損耗率最大的轉運商

本題目優與供應商數會發生變化,建議通過模擬退火演算法框架進行尋優

D 連鑄切割的在線優化

切割機切斷一塊鋼坯的時間為3分鐘切割后,回傳到作業起點的時間為1分鐘,連鑄拉坯的速度為1.0米/分鐘,也就是說切割機最高效率切割間隔為4m,切割后的鋼坯長度必須在 4.8~12.6 米之間,否則無法運走,報廢段有兩種定義,一個是多切割的部分,如果切割下來的長度未達標則全部報廢,一個是結晶器出現例外時,突然產生的報廢段,此時的報廢段長度為0.8m

來看第一問,注意尾坯是除開了從結晶器中心到切割機作業起點處的鋼坯長度,有60m,所以第一問鋼坯長度并不是問題中的,還需要加上60,第一問不考慮結晶器例外,看題目對m的精確到最后一位小數,那么在第一問中就考慮9:0.1:10共11種切割方式,但是不能確定會切割多少段,這里可以自己設計一個啟發式演算法,可用模擬退火演算法等演算法進行外包裝

第二問,在第一問的基礎上增加判斷條件:

第三問,同樣考慮不同的目標值區間,按0.1m等間隔取值作為不同的切割方式

E 中藥材的鑒別

這里先給大家普及下紅外光譜儀,藥品會一次性加入到紅外光譜機里,然后內部會水回圈,水回圈速度是不變的,不同藥材隨水的方向移動是不同的,畢竟這涉及到顆粒大小,重量,擴散性等因素影響,并且紅外輻射會激發分子振動從而產生紅外吸收光譜,不同藥物分子情況不同,因此局造成了每次采集資料時,檢測到的吸光度不同,其實簡單理解就是說紅外光譜儀能根據分子的在水中的擴散性、化學穩定性、顆粒分子大小等等對藥物檢測出不同的波信號,可能會有波信號相近的,這是儀器避免不了的誤差問題

這道題千萬別拿著就開始先降維資料了,圖1和圖3中的藥材大概經歷了一個水回圈周期,圖2大概經歷了4個水回圈周期,所以說這道題直接用降維演算法處理是不嚴謹的,這道題可以直接用全量資料帶入機器學習演算法中訓練然后識別類別,也可以通過時間序列中EMA、AMA做下曲線平滑會對訓練效果有一點提升

第一問為無監督式分類,可以這么來做,以某個k聚類演算法作為目標函式,即分好類別后計算下樣本與所在聚類中心的差值之和,k和聚類中心數作為自變數,外回圈配一個優化演算法進行單目標尋優

第二問有監督分類,使用機器學習方法比如說dbn、隨機森林、Xgboost、支持向量機都可以用用,帶入已分類資料進去訓練,然后帶為止類別進去識別出是哪種類別;這個問也可以通過聚類演算法和相關性/距離等方式去做,例如,先對已知類別資料,針對每類算一個聚類中心,然后用聚類中心的資料向量對未知類別的樣本資料做相關性/計算距離,哪一個相關信號/距離近就是哪一個類別;當然也可以用協同過濾推薦演算法去做

第三問,兩種紅外有一定差別,一般的近紅外要好點,其實這個問就是先用近紅外資料識別,然后用中紅外資料去矯正,反過來也可以,看你們使用的演算法的效果來定,這個問有兩種方式去解決,一個是將近紅外和中紅外檢測的資料進行點乘得到一個新的紅外資料,直接帶入演算法中訓練然后識別,第二種就是分別對兩個紅外資料集中已知類別樣本進行訓練,得出兩種結果,然后將這兩種結合和輸出類別重新構建一個訓練集,帶入演算法再次訓練并輸出類別

第四問不用考慮同一產地同一類別作為一個型別,一般都是先檢測藥物類別,在針對每個類別去識別產地,演算法同上,也可以每個問換一下演算法都行

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/299306.html

標籤:其他

上一篇:2021數學建模國賽A題思路 “FAST”主動反射面的形狀調節 第一版思路 思路開源 已修訂

下一篇:C語言sizeof與strlen詳解(附大量筆試題題解程序)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more