導航:首頁 > 源碼編譯 > 蟻群演算法vb

蟻群演算法vb

發布時間:2022-09-25 09:55:26

『壹』 求「基於蟻群演算法的城市配電網規劃」的源代碼!!!!!

『貳』 2019622李善友公開課

本資料由混沌北京分社學霸 馮清揚&李敏同學 整理!

持續更新中……

—— —— —— —— —— ——

第一部分:進化論

從個體差異推導出遺傳變異,從生存競爭推導出自然選擇,遺傳變異和自然選擇共同推導出達爾文的第一性原理:進化論。

達爾文的根本思想:「存在沒有設計師的設計」。

變異+選擇=進化

生物自發地變異,自然自發地選擇,沒有上帝之手設計,自然自發形成最完美的設計。

基於簡單法則和反饋,計算機能夠自發進化出沒有人編寫的復雜程序,正如大自然能自發進化出復雜世界,整個過程不需要一個指手畫腳的設計師。

變異+選擇+隔離=進化

進化演算法特別適合用於以下三件事:

1.如何到達你想去卻找不到路的領域?

2.如何到達你無法想像的領域?

3.如何開辟全新領域?

進化演算法與創新思維:

1.變異:自下而上、多樣探索

2.選擇:一二曲線、自我破壞

3.隔離:錯位競爭、邊緣創新

進化演算法與創新思維:

1.變異——個體差異:自下而上、多樣探索

——企業需要有足夠豐富的多樣性,多樣性是創新的來源。

除非在系統中注入多樣性,否則內生增長將徹底消失。

進化演算法與創新思維:

2.選擇——生存競爭:一二曲線、自我破壞

有利於生存的變異會被選擇下來,不利於生存的變異會被淘汰,這就是自然選擇。

更為究竟的說:自然只會淘汰不利於生存的變異,有利於生存的變異被剩下來而不是被主動選擇。

創新的過程往往就是新組合對舊組合通過競爭熱加以消滅的過程。熊彼特把這一過程稱為「創造性破壞」。

市場經濟就是進化經濟,它的核心精神是:想生就生,該死就死

市場的創造性破壞,對於企業增長有什麼啟示呢?

答:將市場的創造性破壞模式引入到企業中去!

問題1:我們都希望第一曲線基業長青,但是任何曲線豆無法避免極限點,這時候怎麼辦?

答:一次又一次地跨越第二條曲線。

問題2:什麼時候啟動第二曲線?

答:第一曲線過了破局點;第一曲線還在增長,但增長加速度開始下降;deadline:第一曲線到達財務極限點之前。

問題3:如果第二曲線已經過了破局點,而且和第一曲線之間形成了競爭,該如何選擇?

答:創造性自我破壞。像市場淘汰過氣企業一樣,企業要破壞自己的過氣業務和產品。

在企業中,第二曲線終將超越第一曲線;正如在家庭中,兒子終將代替父親成為家裡的頂樑柱。

進化演算法與創新思維:

3.隔離:錯位競爭、邊緣創新

如果沒有隔離,在原有大種群之中,變異很快就被稀釋掉了。

地理隔離——生殖隔離——新物種

對於企業而言隔離的含義:

(1)內部:第一二曲線之間的隔離

對內:獨立小團隊

除非企業成立兩個彼此獨立的機構(從屬於不同的價值網),來應對新的機遇,發展第二曲線。

(2)外部:與在位巨頭的錯位競爭

對外:錯位競爭

與其更好,不如不同——減少競爭

在領先企業已經建立主導性優勢的環境中,任何類似產品都會淪為雞肋。

進化樹表現為不斷生出側枝得以發展。進化樹的主枝生長最終形成盲端,而生長出的側枝得以進一步演化,側枝又會長出新的側枝演化出新的生物。

企業的進化樹:

一條曲線上的指數式增長必將由於臨近奇點而崩塌,通過創新重啟增長曲線,實現曲線轉換,創新與曲線轉換的發生將越來越快。

第二部分:熵增理論

對今天所有人影響最大的人是牛頓(沒有之一),牛頓機械論世界觀:

邏輯奇點:慣性;引力

第一性原理:經典運動定律

圖片: https://images.smcdn.cn/YRyRDDf4KR0f6GbY/15611741681547.jpg

牛頓機械論世界觀:宇宙就是一台(封閉)機器。

封閉系統的熵隨著時間的推移不斷增加,且不可逆。任何封閉系統,最終的命運是死亡。

基於牛頓世界觀,科學管理把組織視為機器,把人視為機器的零件。傳統商業組織必然是封閉的、機械的、有邊界的,因此不得不面對「組織熵增」——渙散化、官僚化、失效化、並最終走向滅亡。

圖片: https://images.smcdn.cn/A63iwhRrD8s1LpFg/15611748612984.jpg

生命系統是熵增的「特例」,生命以負熵為生。

[強]生命系統是開放系統(耗散結構):具有不斷從外部環境吸收能量(陽光、食物等)和對外輸出熵(二氧化碳)的能力。

圖片: https://images.smcdn.cn/pfeu4LhfLyIl6M96/15611752419478.jpg

相應地,去組織熵增的路徑:

①機械型組織(機器) 到 生物型組織(生命)

②控制 到 走出控制(out of control)

③熵增 到 反熵增

圖片: https://images.smcdn.cn/i6aAfvLp4BoJea3G/15611755214935.jpg圖片: https://images.smcdn.cn/pRR85GuN4hwt4J6K/15611755214836.jpg

圖片: https://images.smcdn.cn/QqknRMJQ098LKJO7/15611755214732.jpg

反熵增案例:任正非

任正非及華為價值觀背後的思維——反熵增思維

1.任正非第一性原理

(1)年輕時:控制論+軍事思想=狼性文化

華為取得長達十年的高速發展。

2000年,機械論世界觀+狼文化開始對華為形成一定程度的反噬。

2001-2003,任正非的至暗時刻——閱讀和思考,是任正非走出黑暗最重要的依仗,他加速從西方管理學、科學、哲學中汲取養分。

(2)熱力學第二定律,猶如為任正非開了天眼。

死亡是一個哲學命題,而活下去則是一個現實命題。

前些年我把「活下去」作為華為的最低綱領,現在我終於明白,「活下去」是企業的最高綱領。

圖片: https://images.smcdn.cn/VfTysgMXzgspJVlf/15611760211487.jpg

2.反熵增實踐

任正非的反熵增:

耗散結構——優勢耗散,把自己的優勢耗散出去,把企業的優勢耗散出去

(1)財富耗散於人才

「炸開人才金字塔的塔尖」,提高人才濃度。

在華為的投入結構中,人力資本的投入處於優先的、超前的地位,是先有人力資本的投入才有財務資本的增長和高投資回報。

近三年,就有700多名世界頂級科學家加入華為。

例:5G極化碼發現者:埃爾多爾.艾利坎

圖片: https://images.smcdn.cn/NRqoKcn54VMmGfhX/15611765873684.jpg

(2)財富耗散於技術

例:1993年的華為與聯想——現在這兩家公司成為對方應該成為的樣子,因為他們把錢花成了不同的樣子。

1998年頒布的《華為基本法》:我們保證按照銷售額的10%撥付研發經費。

華為過去十年累計研發投入近4000億人民幣。面向未來,華為將加大基礎研究投入,每年150-200億美元的研發費用中,20-30%將用於基礎研究。

圖片: https://images.smcdn.cn/Kcg4i6KW5GMd7jDm/15611779297539.jpg

圖片: https://images.smcdn.cn/HPjBcst5Rycs3aXA/15611779297432.jpg

3.華為使命

華為近三年來的使命關鍵詞:連接(三個階段)

(1)管道連接

通訊連接:運營商管道業務,競爭對手是諾基亞、愛立信等

(2)雲管端

CT+IT連接:雲管端業務(雲計算、運營商管道、手機終端),競爭對手是蘋果、思科等。

(3)萬物連接

萬物連接:構建萬物互聯的智能世界。

圖片: https://images.smcdn.cn/zgHJVBlbq5IcysoI/15611784019348.jpg

第三部分:分形創新

❔一個物種怎麼可能變成另外一個物種?

達爾文思想一個決定性的轉折:尺度變換

生存競爭的主角不是物種,而是同一物種之內的個體;遺傳變異的主角甚至不是生物個體,而是基因;基因變異的場景是個體之間的繁殖。

變異+選擇=進化(新物種)

達爾文:自然界無飛躍。

「創新無飛躍」

圖片: https://images.smcdn.cn/3ZXFnycRZ3419mg4/15611842474263.jpg圖片: https://images.smcdn.cn/ZOMD5bGjO7gj6hg3/15611842625111.jpg

第二曲線的產生方法

管理創新+市場選擇

跟生物學類比:管理=遺傳,創新=變異

第一曲線的某一個創新,被挑選出來,成長為第二曲線。

圖片: https://images.smcdn.cn/kznwh6BDSq4AI2RB/15611843763234.jpg

分形創新的操作步驟

1.第一曲線要素拆解

2.組合創新內部MVP

3.市場選擇10倍速增長

4.單一要素最大化

5.成長為第二曲線

案例2:

【好未來的分形創新】

第一曲線:理科+教研+小班+線下

十年前在線下業務如日中天時,開始探索線上業務。

第二曲線:雙師模式的網校——學而思網校

圖片: https://images.smcdn.cn/JPDDsy6xiVIpXeHv/15611857463227.jpg圖片: https://images.smcdn.cn/t3RDEh0z71EcLays/15611857629144.jpg

生物從細胞到生態,物種豐富多樣,但背後的規律卻非常簡潔優雅。

從生物視角看企業經濟系統:

Step1:變異與多樣

Step2:選擇與破壞

Step3:隔離與獨立

Step4:分形與新生

[強]案例3

【頭條的分形創新】

頭條第一曲線:今日頭條[機智]

新聞資訊時外衣,推薦引擎是內核。

Step1:變異與多樣:第一曲線探索分形

Step2:選擇與破壞:分形要素十倍變異

內容分形;

呈現形式分形;

分發分形:社交分發

分發分形:商品分發

圖片: https://images.smcdn.cn/4MVayQLFHH8hzCWQ/15611868735489.jpg圖片: https://images.smcdn.cn/tAexoekGvT8UMFIH/15611868785564.jpg圖片: https://images.smcdn.cn/Q2GbcD8qwT4PE6zT/15611868855614.jpg圖片: https://images.smcdn.cn/U2avXiHlZCkAWhTH/15611868909440.jpg圖片: https://images.smcdn.cn/jsZdor3G6CEQ38OO/15611868953850.jpg圖片: https://images.smcdn.cn/LPbjHhJwWwQsVGR3/15611869005630.jpg

Step3:隔離與獨立,獨立環境隔離成長

每一個新產品立項,負責人就去三個部門挑人,分別負責留存、拉新和變現,臨時成立一個虛擬項目組。

若虛擬項目組表現不錯,再穩固為獨立團隊,進化為獨立公司。

以最小消耗建立最優路線的自然聚焦。

圖片: https://images.smcdn.cn/K5E2rZ4FqukEzXsk/15611869354774.jpgStep4:分形與新生,分形衍生第二曲線

變異+選擇+隔離=新物種=第二曲線

圖片: https://images.smcdn.cn/lJ6eFgZtOX0qPflH/15611869465676.jpg圖片: https://images.smcdn.cn/pulZi96m0iENms85/15611869517379.jpg

【頭條第二曲線:抖音】

分形的關鍵是:有一個可遷移的自相似的同構性。

張一鳴:我覺得我們還是很專注的,其實他們都是一類產品。

張一鳴:這個時代也許是進化論的最好證明。

在全世界范圍內促進信息的創造(分形業務)和流動(主航道)。

圖片: https://images.smcdn.cn/TUplo2CvvZErLqCq/15611869840235.jpg圖片: https://images.smcdn.cn/nlWc22d1Vq0wUcT2/15611869898875.jpg

分形實際上是一門關於混沌的復雜性數學

李善友:分形是我個人的第一性原理

視頻:分形學(強烈推薦,同學們可以搜索看一下)

[嘿哈]

【分形演算法】

分形創新可以極大地緩解創業中的競爭和增長壓力。打破「增長魔咒」,打破」組織熵增「。

分形演算法逆熵的核心機制是:增加了維度。

常規戰略:平面思維,靜態思維(地盤之爭,你有我無)

分形創新:從二維穿透,增加了維度(同一尺度沒有空間,但從細分切口突破進去,無限空間!)

擊穿閾值點,一花一世界。

案例1:美團酒旅——本地住宿

✌案例2:拼多多——貨找人

圖片: https://images.smcdn.cn/pL8a6uzjP68FRO2U/15611874773321.jpg

分形演算法,是一種創新哲學,也是一種過程哲學。

常規思維:未來是「一」。結果是目的,過程服務於結果。

過程哲學:當下是「一」。過程本身就是目的,結果反而不再重要。——活在當下

【分形演算法】

1.互指迭代。2.過程哲學。

案例:

喬布斯——」喬布斯深受禪的影響」。

讓生命服務於使命——一方面,他追尋個人精神世界的領悟;另一方面,他想要打造足以改變世界的產品。禪使他得以將這兩個目標融為一體:作出偉大的產品成為喬布斯獨特的禪修方式。

圖片: https://images.smcdn.cn/bezh8DLUOvokdddT/15611890612485.jpg

第四部分:涌現創新

《復雜》一書中指出「隨著成員數目的增加,成員之間的相互作用呈指數增長,當連接度超過某一臨界值時引發涌現。」

✨涌現是一種特殊的分形。涌現,整體大於部分之和。

單個神經元的行為特別簡單,但無數神經元組合在一起,就涌現出思維和意識。

《失控》中指出「成千上萬條沙丁魚如一頭巨獸游動,破浪前行,它們如同一個整體,這種一致性從何而來?」

答案是涌現的層次性:大量個體合成了一個更高層次的新秩序。

重新定義什麼叫「涌現」:涌現就是出現新的超生命體。涌現就是生命。——「涌現論世界觀」,這是一種徹底告別物理學機械論的新世界觀。

自組織:大量個體基於簡單規則的相互作用,無需中央調控,就能涌現出整體上的新秩序。

自組織的關鍵特徵:同步性

魚群同步的簡單規則:

規則1:跟上前面的魚

規則2:與身邊的魚保持同步

規則3:與後面的魚保持距離

Boids魚群模擬軟體「博德三原則」

視頻名稱→【Boids模擬魚群】

機械繫統總是無法抵抗衰敗,生命系統總是可以不斷進化。

❔馮諾伊曼的革命性問題:生命有自組織,機器能否自復制?——尋找抵抗熵增定律的另類途徑

1957 年馮諾伊曼從數學上證明了:自復制機器原則上是可能的。

復雜性系統的理想模型:「元胞自動機」

✌視頻→【生命游戲】

三、信息流

同構性問題:進化是隨機的嗎?

答:第一步,產生可遺傳的變異,這一步具有偶然性。

第二步,對各種變異的自然選擇。——正反饋

正反饋是如何產生的?

答案:蟻群演算法——螞蟻自組織的兩種規則①集中行動②隨機探索

1.進化學:變異+選擇=進化

2.遺傳學:基因型決定表現型

生命遺傳的「中心法則」:

遺傳型:自指性(DNA是復制蛋白質的遺傳密碼,DNA也包含能夠復制自己的遺傳密碼)——第一性原理是自指性法則

遺傳型到表現型:單向性

破界創新:用第一性原理的推理方式去發現更大尺度的第一性原理(自指性)

為什麼螞蟻「眾愚成智」,而人類「眾智成愚」(烏合之眾)?

涌現的關鍵含義是:涌現就是生命!

涌現世界觀:把你做的事情當作一條命!一條真正的生命!

人類比動物多了小我,我們的世界產生了二元對立,我們認為我們做的事情是為「我」服務的。

使命涌現,人生隨之改變。

上半場:成功

下半場:意義+成功——這樣做不但人生有了幸福感,事業反而更成功。

案例1:「產品之神」喬布斯:蘋果的產品要有靈魂。

案例2:「壽司之神」小野二郎:(1)你必須愛自己的工作。(2)做壽司是奏交響樂。(3)職人精神,一生懸命。

✨「天命所歸的事兒」

1.喜歡的(心流)

2.擅長的(天賦)

3.有意義(至善)

一個組織里,如果能夠鼓勵每個成員去尋找自己的使命,個體使命與組織使命的同頻共振,就是涌現。

在一個涌現的組織里,創新將是自然而然的結果,自組織,自復制,自生長。

圖片: https://images.smcdn.cn/d3uRN8S3IGCM3T/15611980997630.jpg

圖片: https://uploader.shimo.im/f/NWuz4SlTUkw7xRAI.jpg

『叄』 用VB或者MATLAB在一個矩形內生成一個固定點和幾個隨機點,再求出從固定點經過所有隨機點回來後的最短路徑

這個並非一般的最短路徑問題,而是旅行商問題(Traveling Saleman Problem,TSP)。旅行商問題屬於NP完全問題,如果問題規模比較大,至今沒有太有效的演算法。

這里提供一個蟻群演算法的程序,參考:

http://..com/question/175608123.html

根據你的問題做了少量改動,具體代碼如下:

functionTSP
%TSP旅行商問題
%設置初始參數如下:
m=10;Alpha=1;Beta=5;Rho=0.1;NC_max=200;Q=100;
%生成隨機點,第一個點視為固定點
C=[0.50.5];
C(2:10,:)=rand(9,2);
%調用蟻群演算法求解
[R_best,L_best,L_ave,Shortest_Route,Shortest_Length]=ACATSP(C,NC_max,m,Alpha,Beta,Rho,Q);


function[R_best,L_best,L_ave,Shortest_Route,Shortest_Length]=ACATSP(C,NC_max,m,Alpha,Beta,Rho,Q)
%%=========================================================================
%%ACATSP.m
%%
%%ChengAihua,,ZhengZhou,China
%%Email:[email protected]
%%Allrightsreserved
%%-------------------------------------------------------------------------
%%主要符號說明
%%Cn個城市的坐標,n×2的矩陣
%%NC_max最大迭代次數
%%m螞蟻個數
%%Alpha表徵信息素重要程度的參數
%%Beta表徵啟發式因子重要程度的參數
%%Rho信息素蒸發系數
%%Q信息素增加強度系數
%%R_best各代最佳路線
%%L_best各代最佳路線的長度
%%=========================================================================
%%第一步:變數初始化
n=size(C,1);%n表示問題的規模(城市個數)
D=zeros(n,n);%D表示完全圖的賦權鄰接矩陣
fori=1:n
forj=1:n
ifi~=j
D(i,j)=((C(i,1)-C(j,1))^2+(C(i,2)-C(j,2))^2)^0.5;
else
D(i,j)=eps;
end
D(j,i)=D(i,j);
end
end
Eta=1./D;%Eta為啟發因子,這里設為距離的倒數
Tau=ones(n,n);%Tau為信息素矩陣
Tabu=zeros(m,n);%存儲並記錄路徑的生成
NC=1;%迭代計數器
R_best=zeros(NC_max,n);%各代最佳路線
L_best=inf.*ones(NC_max,1);%各代最佳路線的長度
L_ave=zeros(NC_max,1);%各代路線的平均長度
whileNC<=NC_max%停止條件之一:達到最大迭代次數
%%第二步:將m只螞蟻放到n個城市上
Randpos=[];
fori=1:(ceil(m/n))
Randpos=[Randpos,randperm(n)];
end
Tabu(:,1)=(Randpos(1,1:m))';

%%第三步:m只螞蟻按概率函數選擇下一座城市,完成各自的周遊
forj=2:n
fori=1:m
visited=Tabu(i,1:(j-1));%已訪問的城市
J=zeros(1,(n-j+1));%待訪問的城市
P=J;%待訪問城市的選擇概率分布
Jc=1;
fork=1:n
iflength(find(visited==k))==0
J(Jc)=k;
Jc=Jc+1;
end
end
%下面計算待選城市的概率分布
fork=1:length(J)
P(k)=(Tau(visited(end),J(k))^Alpha)*(Eta(visited(end),J(k))^Beta);
end
P=P/(sum(P));
%按概率原則選取下一個城市
Pcum=cumsum(P);
Select=find(Pcum>=rand);
to_visit=J(Select(1));
Tabu(i,j)=to_visit;
end
end
ifNC>=2
Tabu(1,:)=R_best(NC-1,:);
end

%%第四步:記錄本次迭代最佳路線
L=zeros(m,1);
fori=1:m
R=Tabu(i,:);
forj=1:(n-1)
L(i)=L(i)+D(R(j),R(j+1));
end
L(i)=L(i)+D(R(1),R(n));
end
L_best(NC)=min(L);
pos=find(L==L_best(NC));
R_best(NC,:)=Tabu(pos(1),:);
L_ave(NC)=mean(L);
NC=NC+1

%%第五步:更新信息素
Delta_Tau=zeros(n,n);
fori=1:m
forj=1:(n-1)
Delta_Tau(Tabu(i,j),Tabu(i,j+1))=Delta_Tau(Tabu(i,j),Tabu(i,j+1))+Q/L(i);
end
Delta_Tau(Tabu(i,n),Tabu(i,1))=Delta_Tau(Tabu(i,n),Tabu(i,1))+Q/L(i);
end
Tau=(1-Rho).*Tau+Delta_Tau;

%%第六步:禁忌表清零
Tabu=zeros(m,n);
end
%%第七步:輸出結果
Pos=find(L_best==min(L_best));
Shortest_Route=R_best(Pos(1),:)
Shortest_Length=L_best(Pos(1))

%繪圖顯示結果
clf
subplot(1,2,1)
DrawRoute(C,Shortest_Route)
subplot(1,2,2)
plot(L_best)
holdon
plot(L_ave)

functionDrawRoute(C,R)
%%=========================================================================
%%DrawRoute.m
%%畫路線圖的子函數
%%-------------------------------------------------------------------------
%%CCoordinate節點坐標,由一個N×2的矩陣存儲
%%RRoute路線
%%=========================================================================
%原來的繪圖語句太繁瑣,改用這一句就可以了
plot(C([RR(1)],1),C([RR(1)],2),'o-')
%標明固定點
holdon
plot(C(1,1),C(1,2),'ro')

由於點是隨機生成的,每次運行的結果都不同,下面是某次運行的結果(紅點為固定點)。

『肆』 軟體設計畢業設計論文題目

軟體設計畢業設計論文題目

軟體設計畢業設計論文題目如何擬定,大家有參考的範文嗎?以下是我為大家整理的關於軟體設計畢業設計論文題目,希望大家喜歡!

1) 組合型板翅式換熱器熱力設計軟體的開發

2) 導波結構健康監測系統軟體數據管理模塊設計

3) 基於SAP2000分析平台的變電站構架設計軟體

4) 通用型激光加工工藝控制軟體的領域模型設計

5) 基於蟻群演算法的自動化立體車庫監控軟體的優化設計

6) 發電廠自動抄表軟體人機交互界面設計

7) 不同種植設計軟體對種植體位置偏差的影響

8) 玉米自動考種流水線控制系統設計--基於MCGS嵌入式組態軟體

9) 嵌入式實時軟體在計算機軟體設計中的運用研究

10) 嵌入式實時軟體在計算機軟體設計中的運用

11) 測控數據實時監測軟體設計方法研究

12) 體驗模型指導下的雲辦公軟體社會化分享設計

13) 計算機軟體開發設計的難點分析

14) 無人機地面在線檢測軟體的設計

15) 配網數字化規劃設計檔案一體化軟體設計研究

16) 嵌入式系統設計實驗的Qt MIPS模擬軟體開發

17) Solidworks參數化設計軟體在我國傢具研發中的應用

18) 會議電視系統平板會控軟體設計與實現

19) 鍋爐設計中引入三維設計軟體的思考

20) 平面設計軟體與DICOM圖像數據處理技術

21) FLASH動畫設計軟體在多媒體技術中的應用

22) 無人機飛控計算機自動測試軟體設計與開發

23) 基於虛擬現實技術的軟體界面設計與研究

24) 面向掩星觀測的軟體接收機設計

25) 基於軟體通信體系結構的波形FPGA軟體設計方法

26) 基於MATLAB的`同步發電機原動機及其調速系統參數辨識與校核可視化軟體設計

27) 基於USB的軟體綜合安全模塊設計及應用

28) 面向大數據處理的內容伺服器軟體設計與實現

29) 基於Android終端的企業即時通信軟體的設計與實現

30) 臨時限速伺服器軟體設計優化研究

31) 錐形束CT與simplant軟體輔助設計模擬種植下頜牙列缺損的臨床研究

32) 面向復用的軟體設計方法研究

33) 電網規劃數據處理輔助軟體的流程設計

34) GPS農田平地機土方量及設計高程計算軟體開發

35) 基於STC89C52的智能台燈軟體設計

36) 淺析計算機平面設計中設計軟體的相互結合與應用

37) 商業固體激光器設計軟體應用研究

38) 體育運動會比賽軟體系統的設計與研究

39) 綜合化航空電子系統網路傳輸延遲測試軟體設計

40) 基於XML的監控軟體快速設計技術

41) 基於三維動畫軟體的服裝設計分析與研究

42) 基於Matlab的水與蒸汽熱力學性質查詢軟體設計

43) 機頂盒軟體模塊設計及實現

44) 剪紙拼接與PS軟體設計截骨矯正強直性脊柱炎後凸畸形的對比

45) 基於聯合輔助設計軟體的試驗儀控數字化平台開發

46) ZBrush數字雕刻軟體在電腦首飾設計中的應用

47) 對以用戶體驗為導向的智能手機應用軟體界面設計的幾點探討

48) 點雲數據生成軟體的設計及其在月餅模具逆向設計與製造中的應用

49) 一種新型的有源交錯並聯Boost軟體開關電路設計

50) 基於第一創造法的可拓創新軟體設計

51) 基於DCS的工程項目設計軟體介紹

52) 一種復雜模式網傳數據軟體模擬器的設計

53) VB環境下互動式GMT地學繪圖軟體的設計及實現

54) 基於等效的單體包裝機軟體模塊化設計研究

55) 基於Visual Basic的工程數量計算軟體設計與開發

56) 基於資料庫的油氣管道線路施工圖設計軟體二次開發

57) 基於EDA軟體的濾波器設計

58) 基於Android的可配置工業遠程監控軟體設計與實現

59) 基於圖像方式的受電弓滑板磨耗檢測系統軟體設計

60) 基於移動互聯網的個人健康管理軟體設計與實現

61) 老年人的握力測量軟體沉浸式界面設計

62) 基於XMPP協議的Android即時通信軟體的設計與實現

63) CFD軟體自動化驗證確認雲平台設計與實現

64) 基於模糊聚類的色選機上位軟體系統研究與設計

65) 雙排樁支護結構理正軟體設計計算與有限元(MIDAS/GTS)模擬分析

66) 移動端智能手機軟體產品的UI設計研究

67) 基於ZYNQ的軟體無線電平台設計與實現

68) 基於面向對象的紙機傳動系統軟體設計的研究

69) 軟體企業設計人員勝任力模型研究

70) 演算法可視化軟體設計中關鍵問題的研究

71) 基於參與式設計方法的移動端烹飪軟體界面設計研究

72) 支持語音識別功能的Andriod記事本軟體設計與實現

73) 中小企業財務軟體設計與應用

74) 基於Android的攜帶型心電監護系統軟體的設計

75) 通用測試系統軟體架構及關鍵技術的設計與實現

76) 基於雙DSP的制導飛行器控制系統的軟體設計

77) 達芬奇技術下的視頻處理及傳輸系統的軟體設計與實現

78) 基於SolidWorks的管殼式換熱器輔助設計軟體研究

79) 醫學影像處理與分析軟體平台設計與實現

80) 軟體園研發建築空間形態設計研究

81) 基於資料庫的滑動軸承設計計算軟體開發

82) 基於AutoCAD的滴灌工程設計軟體研究與實現

83) 基於Gaudi的CSR外靶實驗數據處理軟體框架設計

84) 輪式起重機回轉系統設計計算軟體開發

85) 輪式起重機轉向系統設計計算軟體開發

86) CS公司軟體開發人員薪酬體系優化設計研究

87) 基於可拓創新方法的產品創新軟體設計與實現

88) 數字示波器自動校準軟體設計

89) 基於Linux的多功能監護儀軟體設計

90) CFETR設計軟體集成平台研發

;

『伍』 張苗的學術簡介

獲獎情況(1)遠程科技咨詢與成果交易的支撐技術與系統,第4完成人,河南省科技進步二等獎;(2)基於蟻群演算法的文本分類技術研究,第8完成人,河南省科技進步二等獎;(3)基於現場匯流排結構的儲備庫糧情檢測系統,第7完成人,河南省科技進步三等獎。研究項目(1)遠程科技咨詢與成果交易的支撐技術與系統,第4完成人,2006年6月省級鑒定(2)基於生態環境控制的新一代安全儲糧智能監控系統,第3完成人,2011年8月省級鑒定。(3)中小型製造企業ERP系統研究與實現,第4完成人,2011年8月省級鑒定。(4)基於SMS技術的糧食流通管理信息系統,第3完成人,2011年9月省級鑒定。主要論著主編教材:區域網組建、管理與維護,2009.5,國防科技大學出版社主要教科研論文:基於異構感知靜態調度與動態線程遷移的異構多核調度機制,2011.7,計算機應用,CN51-1307/TP(中文核心),第一作者基於啟發式信息的支持向量機規則抽取,2008.3,計算機應用,CN51-1307/TP(中文核心),第二作者樹形網路自適應調度模型研究,2008.4,微電子學與計算機,CN61-1123/TN(中文核心),第二作者基於蟻群優化演算法的網格任務映射策略,2008.6,計算機應用,CN51-1307/TP(中文核心),第二作者樹形網格環境下的自適應任務調度演算法研究,2008.9,計算機工程,CN31-3428/TP(中文核心),第二作者淺談河南高校計算機文化基礎教學改革,2008.1,科技創新導報,CN11-5640/N,第一作者多類支持向量機文本分類演算法,2008.3,計算機技術與發展,CN-1450/TP,第一作者多類支持向量機在文本分類中的應用,2008.5,計算機與現代化,CN-1137/TP,第一作者主講課程《程序設計基礎》,《程序設計實踐》,《VB程序設計》,《計算機導論》,《Matlab及應用》,《C語言程序設計》。

『陸』 計算機研究生方向,具體解釋一下計算機應用技術中的方向是什麼

計算機應用專業的特色是「厚基礎,重方向」。本專業學生可以學到很扎實的計算機應用基礎知識,就業面廣;同時,在此基礎上又強化專業方向,學生們有重點地掌握一個專門化的技能,以便從事專業性較強的計算機崗位工作。

本方向著重研究神經網路、模糊邏輯、模糊神經網路、模擬退火技術、蟻群演算法等在視頻圖像處理與編碼中的應用,旨在發展快速高效和具有在低碼率信道下實現視頻圖像實時編碼潛能的壓縮演算法。

在國內率先開展了模糊矢量量化技術的研究,提出了模糊學習vq演算法、模糊k-鄰域vq演算法、隨機競爭學習vq演算法,使得vq編碼性能大大提高,解決了對初始碼書的依賴性問題和碼書設計時間過長的問題。

在數字水印技術方面,較為系統地引入了混沌理論,同時在國內較早地開始第二代數字水印演算法的研究。

本方向還將醫學成像技術、人工生命、非線性非確定系統辯識相結合,在國內較早地提出了基於spect、fmri、eeg、meg等信息融合高維時空非線性模型的建立和辨識,能夠為醫學功能實時成像提供定量的理論依據、有效的分析方法和實用的計算手段。

本方向的研究工作,一方面以多媒體圖像信息處理的新理論、新方法和新技術為突破口,力圖實現理論和技術上的源頭創新;同時將「產、學、研」緊密結合,力求形成我國自主的知識產權,提高核心國際競爭力。

培養目標:

計算機應用技術專業培養具備管理學理論基礎、計算機科學技術知識及應用能力,掌握信息管理、信息系統分析與設計方法等方面的知識與能力。

能在各類企、事業單位、金融機構及政府部門從事信息採集、組織、分析、傳播和服務等信息管理工作或與信息管理工作相關的信息系統規劃、分析、設計、實施、運行管理和評價等方面的應用型人才。

計算機軟硬體技術基礎、資料庫系統SQL、數據結構與C程序設計、單片機原理與技術、計算機網路原理、工程經濟、高級語言匯編、VB. net程序設計、多媒體軟體應用、計算機網路與網站建設。

Delphi程序設計、Java語言程序設計、圖形圖像應用處理(PhotoShop)、Flash動畫製作、微型計算機安裝調試維修、辦公室軟體應用操作、計算機輔助設計、崗前培訓「一技之長」。

本專業主要開設微機原理與介面技術、C語言、數據結構、操作系統、平面設計、SQL SERVER資料庫應用、3DS軟體應用、網頁製作、Visual FoxPro應用基礎等課程。

(6)蟻群演算法vb擴展閱讀:

主要課程:

一、公共課

1、大學語文

2、應用文寫作

3、思想道德修養與法律基礎

4、形勢政策

5、大學英語

6、高等數學

7、體育

二、基礎課

1、計算機應用基礎

2.微機原理與介面技術

3、C語言程序設計

4、數據結構

5、專業英語

三、專業課

1、平面設計

2、SQL SERVER資料庫應用

3、3DS軟體應用

4、網頁製作

5、計算機網路

6、Visual FoxPro應用基礎

7、計算機組裝與維護

四、選修課

1、音樂與繪畫

2.大學生就業與創業指導

『柒』 求蟻群演算法matlab或者,c,或者vb源碼,用在多機器人協作,尋跡,最有路徑的,,程序!!謝謝,回答好的,

clear,close all;
loc = [0.3663, 0.9076; 0.7459, 0.8713; 0.4521, 0.8465;
0.7624, 0.7459; 0.7096, 0.7228; 0.0710, 0.7426;
0.4224, 0.7129; 0.5908, 0.6931; 0.3201, 0.6403;
0.5974, 0.6436; 0.3630, 0.5908; 0.6700, 0.5908;
0.6172, 0.5495; 0.6667, 0.5446; 0.1980, 0.4686;
0.3498, 0.4488; 0.2673, 0.4274; 0.9439, 0.4208;
0.8218, 0.3795; 0.3729, 0.2690; 0.6073, 0.2640;
0.4158, 0.2475; 0.5990, 0.2261; 0.3927, 0.1947;
0.5347, 0.1898; 0.3960, 0.1320; 0.6287, 0.0842;
0.5000, 0.0396; 0.9802, 0.0182; 0.6832, 0.8515];

% loc=rand(50,2);
NumCity=length(loc);
for i = 1:NumCity,
for j = 1:NumCity,
distance(i, j) = norm(loc(i, :) - loc(j, :));
end
end
distance=distance+eye(NumCity).*eps;
%^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

%^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
%^^^^^^^^^^^^^^^^^^ Initialize AC Parameters ^^^^^^^^^^^^^
% P: ant α β ρ η Q
% V: 31 1 5 0.1 1./distance 100
ant=31; a=1; b=5; p=0.1; E=1./distance; Q=100;
%^^^^^^^^^^^^
t=ones(NumCity); Nm=200;
Tabu=zeros(ant,NumCity); R_best=zeros(Nm,NumCity);
L_ave=zeros(Nm,1); L_best=inf.*ones(Nm,1);
%^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tic
for Nc=1:Nm
Tabu=[];
%^^^^^^^^^^^^^^^^^^ Put Ants into Cities ^^^^^^^^^^^^^
Randpos=[];
for i=1:(ceil(ant/NumCity)),Randpos=[Randpos,randperm(NumCity)];end
Tabu(:,1)=(Randpos(1,1:ant))';
%^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
%^^^^^^^^^^^^ Ants According To Probability Choose Next City ^^^^^^^^^^^^^
for j=2:NumCity,
for i=1:ant,
VisitedCity=Tabu(i,1:(j-1));
UnVisited=zeros(1,(NumCity-j+1));
P=UnVisited;
Jc=1;
for k=1:NumCity
if length(find(VisitedCity==k))==0
UnVisited(Jc)=k;
Jc=Jc+1;
end
end
%^^^^^^^^^^^^
for k=1:length(UnVisited)
P(k)=(t(VisitedCity(end),UnVisited(k)).^a)...
*(E(VisitedCity(end),UnVisited(k)).^b);
end
P=P./sum(P);
%^^^^^^^^^^^^
Pcum=cumsum(P);
Select=find(Pcum>=rand);
% Select=find(P==max(P));
ToVisit=UnVisited(Select(1));
Tabu(i,j)=ToVisit;
end
end
if Nc>=2,Tabu(1,:)=R_best(Nc-1,:);end
%^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
%^^^^^^^^^^^^ Record the Best Path ^^^^^^^^^^^^^
L=zeros(ant,1);
dt=zeros(NumCity);
for i=1:ant
R=Tabu(i,:);
for j=1:(NumCity-1), L(i)=L(i)+distance(R(j),R(j+1));end
L(i)=L(i)+distance(R(1),R(NumCity));
for j=1:(NumCity-1)
dt(Tabu(i,j),Tabu(i,j+1))=dt(Tabu(i,j),Tabu(i,j+1))+Q./(L(i));
end
dt(Tabu(i,NumCity),Tabu(i,1))=dt(Tabu(i,NumCity),Tabu(i,1))+Q./L(i);
end
L_best(Nc)=min(L);
pos=find(L==L_best(Nc));
R_best(Nc,:)=Tabu(pos(1),:);
L_ave(Nc)=mean(L);
t=(1-p).*t+dt;
%^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
%^^^^^^^^^^^^ Updata the t ^^^^^^^^^^^^^
% dt=zeros(NumCity);
% for i=1:ant
% for j=1:NumCity-1
% dt(Tabu(i,j),Tabu(i,j+1))=dt(Tabu(i,j),Tabu(i,j+1))+Q./(L(i));
% end
% dt(Tabu(i,NumCity),Tabu(i,1))=dt(Tabu(i,NumCity),Tabu(i,1))+Q./L(i);
% end
% t=(1-p).*t+dt;
% Tabu=zeros(ant,NumCity);
end
toc
Pos=find(L_best==min(L_best));
Shortest_Route=R_best(Pos(1),:);
Shortest_Length=L_best(Pos(1));
subplot(1,2,1)
DrawRoute(loc,Shortest_Route)
subplot(1,2,2)
plot(L_best)
hold on
plot(L_ave)

『捌』 怎樣解決VB中這樣的最短路徑問題

這種問題一般都要使用智能演算法,如遺傳演算法,蟻群演算法等,才能找到最優解。

『玖』 VB或C++的蟻群演算法源碼

//建議使用vc2005以上的編譯器,加油!!~!

#include <stdio.h>
#include <cmath>
#include <iostream>
#include <fstream>
#include <time.h>
using namespace std;

const int iAntCount=34;//螞蟻數量
const int iCityCount=51;//城市數量
const int iItCount=2000;//最大跌代次數
const double Q=100;
const double alpha=1;
const double beta=5;
const double rou=0.5;

int besttour[iCityCount];//最有路徑列表

double rnd(int low,double uper)//獲得隨機數
{
double p=(rand()/(double)RAND_MAX)*((uper)-(low))+(low);
return (p);
};
int rnd(int uper)
{
return (rand()%uper);
};
class GInfo//tsp地圖信息,包含了信息素,城市距離,和信息素變化矩陣
{
public:
double m_dDeltTrial[iCityCount][iCityCount];
double m_dTrial[iCityCount][iCityCount];
double distance[iCityCount][iCityCount];

};
GInfo Map;
class ant
{
private:
int ChooseNextCity();//選擇城市
double prob[iCityCount];
int m_iCityCount;
int AllowedCity[iCityCount];//沒有走過的城市
public:
void addcity(int city);
int tabu[iCityCount];
void Clear();
void UpdateResult();
double m_dLength;
double m_dShortest;
void move();
ant();
void move2last();

};
void ant::move2last()
{
int i;
for(i=0;i<iCityCount;i++)

if (AllowedCity[i]==1)
{
addcity(i);
break;
}
}

void ant::Clear()
{
m_dLength=0;
int i;
for(i=0; i<iCityCount;i++)
{
prob[i]=0;
AllowedCity[i]=1;
i=tabu[iCityCount-1];
m_iCityCount=0;
addcity(i);
}
}
ant::ant()
{
m_dLength=m_dShortest=0;
m_iCityCount=0;
int i;
for(i=0;i<iCityCount;i++) {

AllowedCity[i]=1;
prob[i]=0;
}
}
void ant::addcity(int city)
{
//add city to tabu;
tabu[m_iCityCount]=city;
m_iCityCount++;
AllowedCity[city]=0;
}
int ant::ChooseNextCity()
{
//Update the probability of path selection
//select a path from tabu[m_iCityCount-1] to next
int i;
int j=10000;
double temp=0;
int curCity=tabu[m_iCityCount-1];
for (i=0;i<iCityCount;i++) {

if((AllowedCity[i]==1))
{
temp+=pow((1.0/Map.distance[curCity][i]),beta)*pow((Map.m_dTrial[curCity][i]),alpha);
}
}
double sel=0;
for (i=0;i<iCityCount;i++) {

if((AllowedCity[i]==1))
{
prob[i]=pow((1.0/Map.distance[curCity][i]),(int)beta)*pow((Map.m_dTrial[curCity][i]),(int)alpha)/temp;
sel+=prob[i];
}
else
prob[i]=0;
}
double mRate=rnd(0,sel);
double mSelect=0;
for ( i=0;i<iCityCount;i++) {

if((AllowedCity[i]==1))
mSelect+=prob[i] ;
if (mSelect>=mRate) {j=i;break;}
}
if (j==10000)
{
temp=-1;
for (i=0;i<iCityCount;i++) {

if((AllowedCity[i]==1))
if (temp) {
temp=pow((1.0/Map.distance[curCity][i]),beta)*pow((double)(Map.m_dTrial[curCity][i]),alpha);
j=i;
}
}
}
return j;
}
void ant::UpdateResult()
{
// Update the length of tour
int i;
for(i=0;i<iCityCount-1;i++)

m_dLength+=Map.distance[tabu[i]][tabu[i+1]];
m_dLength+=Map.distance[tabu[iCityCount-1]][tabu[0]];
}
void ant::move()
{
//the ant move to next town and add town ID to tabu.
int j;
j=ChooseNextCity();
addcity(j);
}
class project
{
public:
void UpdateTrial();
double m_dLength;
void initmap();
ant ants[iAntCount];
void GetAnt();
void StartSearch();
project();
};
void project::UpdateTrial()
{
//calculate the changes of trial information
int i;
int j;
for(i=0;i<iAntCount;i++) {
for (j=0;j<iCityCount-1;j++)
{
Map.m_dDeltTrial[ants[i].tabu[j]][ants[i].tabu[j+1]]+=Q/ants[i].m_dLength ;
Map.m_dDeltTrial[ants[i].tabu[j+1]][ants[i].tabu[j]]+=Q/ants[i].m_dLength;
}
Map.m_dDeltTrial[ants[i].tabu[iCityCount-1]][ants[i].tabu[0]]+=Q/ants[i].m_dLength;
Map.m_dDeltTrial[ants[i].tabu[0]][ants[i].tabu[iCityCount-1]]+=Q/ants[i].m_dLength;
}
for (i=0;i<iCityCount;i++) {
for (j=0;j<iCityCount;j++)
{
Map.m_dTrial[i][j]=(rou*Map.m_dTrial[i][j]+Map.m_dDeltTrial[i][j] );
Map.m_dDeltTrial[i][j]=0;
}
}
}
void project::initmap()
{
int i;
int j;
for(i=0;i<iCityCount;i++)
for (j=0;j<iCityCount;j++)
{

Map.m_dTrial[i][j]=1;
Map.m_dDeltTrial[i][j]=0;
}
}
project::project()
{
//initial map,read map infomation from file . et.
initmap();
m_dLength=10e9;

ifstream in("eil51.tsp");

struct city
{
int num;
int x;
int y;
}cc[iCityCount];

for (int i=0;i<iCityCount;i++)
{
in>>cc[i].num>>cc[i].x>>cc[i].y;
besttour[i]=0;
}
int j;
for(int i=0;i<iCityCount;i++)
for (j=0;j<iCityCount;j++)
{
{
Map.distance[i][j]=sqrt(pow((double)(cc[i].x-cc[j].x),2)+pow((double)(cc[i].y-cc[j].y),2));
}
}
}
void project::GetAnt()
{
//randomly put ant into map
int i=0;
int city;
srand( (unsigned)time( NULL ) +rand());
for (i=0;i<iAntCount;i++)
{
city=rnd(iCityCount);
ants[i].addcity(city);
}
}
void project::StartSearch()
{
//begin to find best solution
int max=0;//every ant tours times
int i;
int j;
double temp;
int temptour[iCityCount];
while (max<iItCount)
{
for(j=0;j<iAntCount;j++)
{
for (i=0;i<iCityCount-1;i++)
ants[j].move();
}
for(j=0;j<iAntCount;j++)
{ ants[j].move2last();
ants[j].UpdateResult ();
}
//find out the best solution of the step and put it into temp
int t;
temp=ants[0].m_dLength;
for (t=0;t<iCityCount;t++)
temptour[t]=ants[0].tabu[t];
for(j=0;j<iAntCount;j++)
{
if (temp>ants[j].m_dLength) {
temp=ants[j].m_dLength;
for ( t=0;t<iCityCount;t++)
temptour[t]=ants[j].tabu[t];
}
}
if(temp<m_dLength){
m_dLength=temp;
for ( t=0;t<iCityCount;t++)
besttour[t]=temptour[t];
}
printf("%d : %f\n",max,m_dLength);
UpdateTrial();
for(j=0;j<iAntCount;j++)
ants[j].Clear();
max++;
}
printf("The shortest toure is : %f\n",m_dLength);
for ( int t=0;t<iCityCount;t++)
printf(" %d ",besttour[t]);
}
int main()
{
project TSP;
TSP.GetAnt();
TSP.StartSearch();
return 0;
}

閱讀全文

與蟻群演算法vb相關的資料

熱點內容
微機室裡面的雲伺服器 瀏覽:106
excel能編程嗎 瀏覽:929
android系統框架的介紹 瀏覽:945
無盤系統伺服器如何配置 瀏覽:836
背負貸款如何緩解壓力 瀏覽:82
linux獲取日期時間 瀏覽:881
搬磚問題最合適的演算法 瀏覽:446
小米安卓機密碼忘記了如何解鎖 瀏覽:910
產電plc編程手冊 瀏覽:761
vscodephp 瀏覽:535
阿里雲linux桌面 瀏覽:754
php二維數組搜索 瀏覽:116
ps快捷命令工具箱 瀏覽:253
c4d教程pdf 瀏覽:462
linux集群安裝配置 瀏覽:154
stc單片機介紹 瀏覽:902
如何解壓失戀的人 瀏覽:493
安卓微信滯後怎麼辦 瀏覽:942
手機編程跟電腦編程一樣嗎 瀏覽:624
android代碼規範文檔 瀏覽:99