前言:尋找寫作靈感?中文期刊網用心挑選的農機跨區作業系統設計論文,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
1信息決策支持系統總體結構設計
1.1系統總體結構設計
農機高效跨區作業信息決策系統采用模塊化設計方法,主要包括用戶管理、農機新聞、農機信息、維護功能、測試及調試功能等。
1.2系統主要功能模塊結構設計
系統管理:由系統管理員添加農機信息、地區信息和系統用戶信息,對用戶進行權限設置并對其進行維護,新用戶注冊,管理員錄入新用戶的基本信息,并在以后的跨區作業中對用戶信息進行基本維護。農機新聞查詢:包括農機補貼、視頻資料、政策法規、供應信息、機收價格及天氣查詢等。農機信息查詢:包括作業證查詢、作業壽命、機械保有量、作業需求、地圖信息及最短路徑等。
2數據庫設計
2.1數據庫技術
數據庫是按照一定的數據模型在計算機系統中組織、存儲和使用的互相聯系的數據集合。數據庫可以大大減少數據的冗余度、節省存儲空間。數據庫中數據和應用程序各自獨立、互不依賴。
2.2數據庫設計
在實體基礎上,形成數據庫表格,主要包括用戶表、新聞表,分別涉及字段意義、字段名稱、類型及主鍵值等。
3信息決策系統的實現
LabWindows/CVI是為熟悉C語言的測控工程師使用的軟件開發平臺,具有C語言本身不具有的許多功能模塊,這些模塊不僅可以實現對測控對象的測試測量,還可以用簡潔的邏輯,快速地實現對數據文本的操作和使用。因此,本系統采用模塊化設計方法,利用LabWindows/CVI平臺設計友好的人機交互界面,調用SQL以及ODBC等技術,實現CVI對MYSQL數據庫的訪問。為給農機跨區作業提供最佳決策信息,獲得最大收益,用MatLab編程設計農機跨區作業的智能優化算法的m文件,并為CVI設計的友好界面所調用。
3.1系統功能模塊設計
系統管理模塊包括用戶、管理員及退出系統。其中,管理員還有管理員登錄、添加用戶、刪除用戶3方面功能。農機新聞模塊主要包括農機補貼、視頻資料、政策法規、供應信息、機收價格及天氣查詢。農機信息功能模塊包括作業證查詢、作業區域需求、產地類型查詢、地圖信息和智能決策等。其中,作業區域需求模塊的作用是選定相關區域的參數;區域參數設置包括類型、面積、收割機保有量和收割期限等。為保證決策的正確性和可行性,這些數據資料要求準確可靠。如選擇甲端為保定,乙端為石家莊和唐山,點擊查詢,顯示相關的數據。產地信息查詢用以給出各地農作物的實用信息,這不僅能為農機跨區作業的決策提供基礎數據,還能用于各種數據信息的統計。根據作物種植類型的不同,本系統可分別選擇小麥、玉米和水稻3種類型進行查詢,該部分可根據需要擴充。
3.2農機調配決策策略
此模塊是該項目的核心模塊,智能決策模塊實際上是要實現對農機在跨區作業給出最佳路徑策略。其不但要使農機手在完成農作物的收割和耕種時獲得最大的服務收益,又要減輕農民收割負擔并降低成本。這就需要農機管理部門要在最短時間內為農機手提供最優決策。農機調配目標模型參考相關文獻選用為總的利潤=總收入-消耗成本-等待成本其中,總收入為多臺農機在不同農田點的單位服務價格和農田面積的乘積之和。消耗成本包括空程趕路消耗和作業消耗??粘腾s路消耗是指各農機分別在趕路過程中的消耗,作業消耗是各農機分別在作業過程中的消耗,二者均可用單位消耗與農機數量、農機調配時間的乘積之和表示。等待消耗主要有兩種情況:假如農機先于作物作業需求時間到達,則需要等待時日才可作業,等待成本等于各農機的等待時間與單位等待費用乘積的累加和;但如果是農機到達指定作業點后,立即開始作業,則不會產生等待成本。為了實現上述任務,采用智能優化的混合粒子群算法給出農機手跨區作業的最佳路徑選擇?;旌狭W尤核惴ㄓ蒑atLab編程,在LabWindows/CVI環境下調用MatLab功能函數。
3.3智能決策功能設計
3.3.1LabWindows/CVI和MATLAB混合編程
LabWindows/CVI是美國國家儀器(NationalIn-struments,NI)公司為熟悉C語言的測控領域的工程師開發的交互式軟件開發平臺。而MatLab則利用其強大的實時計算功能為測控專家提供了豐富的智能算法,二者側重點不同。前者雖然模塊庫豐富,但要實現測控領域的先進理論和方法,如模糊控制算法、自適應遺傳算法、神經元網絡等技術,還需額外高價購買該NI公司提供的工具箱;若自己利用CVI平臺開發,不但周期長,費用也相對較高。而MatLab的強項在于強大的科學計算功能,能免費提供豐富的各類算法的功能函數及靈活的接口技術。因此,將CVI的模塊化可視化編程與MatLab的科學計算功能有機結合,可以快速設計出功能強大的實用軟件。目前,實現LabWindows/CVI軟件與MatLab接口的方法主要有兩種:一是通過標準C程序調用引擎函數實現與MatLab接口;二是采用CVI提供的ActiveX控件實現與MatLab接口。兩種方式都有研究者使用,但二者都需要安裝并運行MatLab軟件環境,使用起來也較繁瑣。本文先用MatLab編輯生成農機調度優化算法的m文件,再用C++編譯成動態鏈接庫(DLL文件),并將生成的h文件、lib文件、dll文件拷貝到用CVI軟件設計的農機跨區作業信息決策工程目錄下,供CVI程序調用,用戶只需在目標機上安裝MatLab運行庫就可完成任務。另外,運行時還需在CVI的項目工程目錄中添加MatLab庫函數中的libmx.lib、matrix.h、mclmcr.h、mclmcr.lib等庫文件即可,使用方法簡單。
3.3.2混合粒子群算法及實驗
粒子群算法(ParticleSwarmOptimization,PSO)已經在化工、電力、車輛等行業的優化調度中得到研究,是Kennedy等學者于1995年提出的一種基于群體智能的優化算法。標準粒子群算法的思想是先初始化一群隨機粒子,然后通過迭代尋找問題最優解,在每次迭代中,粒子通過個體極值和群體極值更新自身的速度和位置。雖然算法操作簡單,但收斂速度與種群規模和迭代次數等因素有關。隨著迭代次數的不斷增加,各粒子在集中的同時相似性越來越大,因而可能無法找到全局最優解。混合粒子群算法通過借鑒遺傳算法中交叉和變異的思想,改變了傳統粒子群算法中的通過跟蹤個體和群體的極值來更新粒子位置的方法搜索最優解。本系統混合粒子群算法用MatLab編程為m文件。本系統中算法的交叉操作與遺傳算法中隨機選擇兩個解進行交叉不同,它是把每個粒子分別同個體極值和群體極值進行交叉。交叉結果中如果產生了與交叉區域相同的元素則被刪除。為了保證每一代的優良個體不被破壞,采用優生選擇策略,交叉后的新路徑長度如果變短則接受交叉后的個體,從而產生更優秀的粒子新位置。變異操作與上述交叉操作不同,只是對個體自身進行變異。變異結果中如果產生了與交叉區域相同的元素則被刪除。交變異后的新路徑長度如果變短則接受變異后的個體,否則不變異直接復制到下一代中,提高群體中表現優良的個體變異率,從而產生更優秀的粒子新位置。上述算法的改進,克服了PSO容易陷入局部最優的缺陷,避免了算法過早收斂。而且由于以交叉和變異操作產生粒子位置更新,避免了慣性權重W、加速系數c1和c2等3個參數的組合選擇,減少了因參數選擇不當而產生的誤差?;旌狭W尤核惴ú坏A袅薖SO簡潔易執行的優點,而且提高了算法的搜索效率,保證算法的收斂性。
4結論
基于CVI平臺開發設計了農機高效跨區作業信息決策系統,通過LabWindows/CVI調用SQL技術,實現CVI對MYSQL數據庫的訪問;利用MatLab強大的計算功能設計農機跨區調度的智能混合粒子群優化算法,并被CVI程序調用,為農機高效跨區作業提供信息決策功能。系統界面友好,利于功能擴展,有較好的使用價值和應用前景。該系統能夠有效提高農機的利用率,增加農機手的效益,滿足農民對農機作業的需求。其不但為農機管理提供了科學高效的決策支持,而且為農業的增產增收創造了條件。
作者:張瑞青 馬躍進 王文娣 耿立微 梁揚 單位:河北農業大學機電工程學院