freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于多agent的制造執(zhí)行系統(tǒng)的功能模塊設(shè)計(jì)(參考版)

2025-06-30 20:10本頁面
  

【正文】 }}。 i++) { (M05[i] + )。 for(int i = 0。 M05[j] = temp[0]。 if(surplusrij[a][b] surplusrij[c][d]) { temp[0] = M05[i]。 j++) { c = (int)(M05[j]) 1。 for(int j = 0。 i++) { a = (int)(M05[i]) 1。 for(int i = 0。 i++) { (M04[i] + )。 for(int i = 0。 M04[j] = temp[0]。 if(surplusrij[a][b] surplusrij[c][d]) { temp[0] = M04[i]。 j++) { c = (int)(M04[j]) 1。 for(int j = 0。 i++) { a = (int)(M04[i]) 1。 for(int i = 0。 i++) { (M03[i] + )。 for(int i = 0。 M03[j] = temp[0]。 if(surplusrij[a][b] surplusrij[c][d]) { temp[0] = M03[i]。 j++) { c = (int)(M03[j]) 1。 for(int j = 0。 i++) { a = (int)(M03[i]) 1。 for(int i = 0。 i++) { (M02[i] + )。 for(int i = 0。 M02[j] = temp[0]。 if(surplusrij[a][b] == surplusrij[c][d]) { if(M02[i] M02[j]) { temp[0] = M02[i]。 j++) { c = (int)(M02[j]) 1。 for(int j = 0。 i++) { a = (int)(M02[i]) 1。 } } } for(int i = 0。 M02[i] = M02[j]。 d = (int)(M02[j]*10)%10 1。 j 。 b = (int)(M02[i]*10)%10 1。 i 。 } } } ( )。 b = (int)(M01[j]*10)%10 1。 j 。 i 。 } } } (M01 )。 temp1[i] = temp1[j]。 j 。 i 。 temp1[i] = surplusrij[a][b]。 i++) { a = (int)(M01[i]) 1。 for(int i = 0。 double temp[] ={0}。 int c。 int a。 double M04[] = {, }。 double M02[] = {, , , , , , }。 surplusrij[i][j] = 1 rij[i][j]。 j timeij[i].length。 i 。 k++) { sumTij[i][j] += timeij[i][k]。 for(int k = 0。 j timeij[i].length。 i 。 i++) { rij[i] = new double[processNumber[i]]。 for(int i = 0。 i++) { surplusrij[i] = new double[processNumber[i]]。 for(int i = 0。 i++) { sumTij[i] = new double[processNumber[i]]。 for(int i = 0。 double sumTi[] = new double[8]。 int processNumber[] = {4,2,3,3,2,3,2,3}。 } ( )。 i 4。 } } } (M04 )。 M04[i] = M04[j]。 d = (int)(M04[j]*10)%10 1。 j 4。 b = (int)(M04[i]*10)%10 1。 i 4 。 } ( )。 i 4。 } } } (M03 )。 M03[i] = M03[j]。 d = (int)(M03[j]*10)%10 1。 j 4。 b = (int)(M03[i]*10)%10 1。 i 4 。 } ( )。 i 4。 } } } (M02 )。 M02[i] = M02[j]。 d = (int)(M02[j]*10)%10 1。 j 4。 b = (int)(M02[i]*10)%10 1。 i 4 。 } ( )。 i 4。 } } } //輸出M01加工任務(wù)結(jié)果 (M01 )。 M01[i] = M01[j]。 d = (int)(M01[j]*10)%10 1。 j 4。 b = (int)(M01[i]*10)%10 1。 i 4 。 double temp[] ={0}。 int c。 int a。 double M03[] = {, , , }。 } } //每臺(tái)設(shè)備所要加工的任務(wù)表(未排序) double M01[] = {, , , }。 j++) { rij[i][j] = sumTij[i][j]/sumTi[i]。 i++) { for(int j = 0。 } } } //計(jì)算剩余加工時(shí)間 for(int i = 0。 k = j。 j++) { sumTi[i] += timeij[i][j]。 i++) { for(int j = 0。 //由調(diào)度算法計(jì)算sumTij for(int i = 0。 double surplusrij[][] = new double[4][4]。//Pij的工時(shí) double sumTi[] = new double[4]。 //輸入總工件數(shù) int processNumber =4。從開始的課題選題、方案設(shè)計(jì),選題的變更,進(jìn)而進(jìn)行課題的設(shè)計(jì)到最后開始論文寫作,整個(gè)過程都傾注了導(dǎo)師的辛勤勞動(dòng)和大量的心血,在此,謹(jǐn)向我的導(dǎo)師表示最衷心的感謝! 同時(shí),在此要感謝我同組的張芳瑜和蘇橋滿,謝謝你們在程序算法與程序仿真數(shù)據(jù)中所給出的寶貴意見與建議,也感謝你們對我畢業(yè)設(shè)計(jì)的指導(dǎo)與幫助。將來應(yīng)加深對AgentBuilder開發(fā)平臺(tái)的了解,能夠熟練的運(yùn)用它開發(fā)出智能化的Agent,并有效合理的封裝,便于企業(yè)客戶使用。雖然在設(shè)計(jì)學(xué)習(xí)過程中經(jīng)常遇到問題,但通過與老師、師姐、同學(xué)溝通,查閱相關(guān)文獻(xiàn)等途徑大部分都得到比較滿意的解決。通過本次設(shè)計(jì)讓自己學(xué)習(xí)到了Agent、MES、AgentBuilder開發(fā)平臺(tái)、調(diào)度算法等許多新的知識(shí),更讓自己了解到機(jī)械知識(shí)在企業(yè)實(shí)際生產(chǎn)中應(yīng)用的重要性。最后將代理程序載入錯(cuò)綜實(shí)時(shí)代理引掣,創(chuàng)建代理應(yīng)用程序。這份文檔和代理行為庫、用戶接口庫確定了代理的行為。在代理行為庫中確定代理的行為,主要有以下幾步:首先定義行為的名稱和參數(shù),接著將行為和對象模式中定義的對象方法關(guān)聯(lián),最后導(dǎo)入已有類庫或者開發(fā)能夠?qū)崿F(xiàn)任務(wù)的Java類并在代理的行為庫中存儲(chǔ)這此類。AgentBuilder為確定代理的行為規(guī)則、信念、職責(zé)、意圖和代理能力提供了工具,支持用戶接口庫和代理行為庫的創(chuàng)建,建立代理定義文檔。協(xié)議編輯器使得開發(fā)者能夠容易確定代理間所需的消息和握手規(guī)則。開發(fā)者還必須確定在解決全局問題時(shí)每一個(gè)代理和它的作用,然后創(chuàng)建一個(gè)框架代理并定義這個(gè)代理和別的代理相互作用時(shí)的基本特征。也就是說,Agent是一個(gè)封裝的有獨(dú)立功能的模塊,它包括自己的數(shù)據(jù)和對這些數(shù)據(jù)進(jìn)行操作的算法,它能夠接受和處理其他 Agent發(fā)送來的消息,也能向其他 Agent發(fā)送消息,是一個(gè)有獨(dú)立解決問題能力、并隨環(huán)境變化而變化的實(shí)體。同時(shí),實(shí)體Agent與知識(shí)庫中的規(guī)則(即對象關(guān)系定義系統(tǒng)所給出的實(shí)體對象關(guān)系)也由KQML進(jìn)行傳遞。實(shí)體Agent的基本交互模式如圖44所示。此外,還有一種名為輔助器(Facilitator)的Agent則需完成一些特殊功能,所以它還應(yīng)支持特殊原語的解。由于KQML既是一種通信語言,又是一種通信協(xié)議和標(biāo)準(zhǔn),故每個(gè)Agent只要遵守該協(xié)議,就可受到它所提供的通信支持,而要遵守KQML協(xié)議,每個(gè)Agent都必須添加一個(gè)KQML語言解釋器。KQML的基本格式如圖43所示:圖43 KQML的基本格式一般地,被發(fā)送的語言段稱為消息,消息的形成就如同一個(gè)編碼過程,消息的解釋執(zhí)行則似一個(gè)解碼過程。KQML是目前被廣泛采用的Agent通信語言之一,KQML其既是一種消息格式,也是一種消息處理協(xié)議,它提供了一套標(biāo)準(zhǔn)的Agent通信原語。定義好Agent的行為后,要把Agent程序載入運(yùn)行Agent引擎(Reticular’s Runtime Agent Engine)中,它是一種高績效的執(zhí)行機(jī)制,可以解釋Agent程序,執(zhí)行用戶界面庫和Agent行為庫中的行為。用戶界面庫可用于構(gòu)建Agent的用戶界面,Agent行為庫中可確定Agent的行為。圖42 用AgentBuilder開發(fā)Agent的過程Agent的開發(fā)過程實(shí)際上就是定義Agent行為的過程。開發(fā)智能Agent與其他開發(fā)活動(dòng)相類似,開發(fā)人員同樣要進(jìn)行系統(tǒng)分析、設(shè)計(jì)、執(zhí)行、測試/調(diào)試、整合和維護(hù)等步驟。AgentBuilder所創(chuàng)建的Agent使用KQML語言通信機(jī)制,故其支持KQML所確定的行為。圖41 AgentBuilder主要組件之間的關(guān)系圖本課題采用AgentBuilder作為開發(fā)平臺(tái),實(shí)現(xiàn)MES調(diào)度功能模塊設(shè)計(jì),其主要特征如下:(1) 提供了可視化編程工具來制定Agent的行為和運(yùn)行;(2) 容易創(chuàng)建軟件智能Agent,不需要Agent和網(wǎng)絡(luò)通信方面的專門知識(shí);(3) 構(gòu)建的Agent內(nèi)置有自主運(yùn)行、跟蹤環(huán)境、推理、與別的Agent通信的能力;(4) 使用高層次的面向Agent的編程語言,通過制定Agent的信念、承諾、行為等直接概念就可以完成軟件Agent的設(shè)計(jì);(5) 提供問題域的分析、Agent群的定義、Agent間相互作用的定義、Agent測試和調(diào)試等工具;(6) 基于Java語言,對于創(chuàng)建跨平臺(tái)的Agent應(yīng)用提供了工具包;(7) 支持多種編程語言,如Java、C++、C語言等。通過Java語言創(chuàng)建出來的智能Agent,可以在各種各樣的計(jì)算機(jī)平臺(tái)執(zhí)行[23]。由于AgentBuilder的工具箱和運(yùn)行時(shí)系統(tǒng)兩部分所有組件都是通過Java語言實(shí)現(xiàn)的,因此在任何支持Java并且擁有一個(gè)Java開發(fā)環(huán)境的機(jī)器或者操作系統(tǒng)上都可以進(jìn)行Agent的應(yīng)用和開發(fā)。 AgentBuilder介紹AgentBuilder是一套用于構(gòu)建
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1