摘要:機械優(yōu)化設(shè)計方法是現(xiàn)代機械設(shè)計過程中尋求最優(yōu)化設(shè)計的一種重要手段。利用VB作為開發(fā)平臺,以常用的最優(yōu)化計算方法為基礎(chǔ),開發(fā)適用于機械設(shè)計過程中的優(yōu)化軟件,運用該軟件能夠滿足機械設(shè)計過程中的優(yōu)化要求。
關(guān)鍵詞:VB;機械優(yōu)化設(shè)計;軟件;實現(xiàn)
Realization and Implementation of Mechanical Optimal Design Software Based on Visual Basic
REN Xiao-dan
(Electrical Engineering Department, Inner Mongolia Machine Electricity Occupation Technical College, Hohhot, 010051, China )
Abstract: Mechanical optimal design method is an important means of the modern mechanical design process to identify the most optimum design. Using VB as a development platform to the exploit optimization software applied in the process of mechanical design based on the commonly used optimize method calculation, use which to meet the mechanical design process optimization requirements.
Key words:visual basic; mechanical optimal design; software; realization
最優(yōu)化設(shè)計是20世紀60年代初發(fā)展起來的一門新學(xué)科,隨著數(shù)學(xué)規(guī)劃論和計算機技術(shù)的發(fā)展,它與機械設(shè)計理論相結(jié)合,解決了在機械設(shè)計領(lǐng)域中最優(yōu)化設(shè)計問題。通過這種新的設(shè)計方法,可以從眾多的設(shè)計方案中尋找最佳的設(shè)計方案,從而大大減輕了設(shè)計人員的勞動強度,提高了設(shè)計效率和質(zhì)量。
在機械優(yōu)化設(shè)計過程中,將遇到如何選擇合適的優(yōu)化方法這一問題,由于求解問題的性質(zhì)、規(guī)模及解題思路和策略不同,優(yōu)化算法種類很多,設(shè)計人員需要尋找合適的算法,滿足機械設(shè)計方案的要求。為了方便設(shè)計人員使用最優(yōu)化方法,通過可視化語言VB開發(fā)了機械優(yōu)化設(shè)計軟件,能夠滿足工程人員的設(shè)計需要。
1 機械優(yōu)化設(shè)計概述
機械設(shè)計優(yōu)化問題,就是在給定的約束范圍內(nèi),選取設(shè)計變量,建立目標函數(shù)并使其獲得最優(yōu)值的一種新的設(shè)計方法。其設(shè)計步驟為:
1) 將設(shè)計問題的物理模型轉(zhuǎn)變?yōu)閿?shù)學(xué)模型。建立數(shù)學(xué)模型時要選取設(shè)計變量、確定目標函數(shù)、給出約束條件;
2) 采用適當?shù)淖顑?yōu)化方法求解數(shù)學(xué)模型;
3) 編制優(yōu)化設(shè)計程序;
4) 求解優(yōu)化結(jié)果;
5) 分析優(yōu)化結(jié)果。
機械優(yōu)化設(shè)計常用的優(yōu)化方法有一維搜索最優(yōu)化方法、多變量無約束優(yōu)化方法、約束最優(yōu)化方法。一維搜索法主要包括黃金分割法和二次插值法。多變量無約束優(yōu)化方法主要包括變量輪換法、鮑威爾法、梯度法、牛頓法、變尺度法等。約束最優(yōu)化方法主要包括隨機方向法、復(fù)合形法、懲罰函數(shù)法等。
2 軟件開發(fā)
VB是一種Microsoft Windows應(yīng)用程序的開發(fā)工具,采用了“可視化設(shè)計”和“面向?qū)ο笤O(shè)計”技術(shù),初學(xué)者只要掌握幾個關(guān)鍵技術(shù)就可以建立實用的應(yīng)用程序。軟件開發(fā)的效率大幅度提高,輸入輸出界面也都采用了Windows的標準,軟件的維護和擴充也十分方便。用VB開發(fā)出的應(yīng)用軟件,其操作界面美觀大方,使用方便,具有人性化的特點,更易為用戶所接受。同時,程序編程語句直接簡捷,在程序的調(diào)試過程中,容易跟蹤程序的運行進程,從而發(fā)現(xiàn)問題,以進行改進和調(diào)整。
程序設(shè)計主要包括機械優(yōu)化設(shè)計中常用的優(yōu)化算法,所有功能都可以在菜單中進行操作。同時在軟件左側(cè)設(shè)計下拉式菜單,方便用戶對優(yōu)化算法的快捷訪問,用戶登錄界面如圖1所示。在函數(shù)方程輸入的設(shè)計中,利用了ScriptControl控件。在使用ScriptControl控件前,先通過“工程/部件”菜單命令選擇Microsoft Script Control 1.0選項,添加ScriptControl控件。實現(xiàn)步驟如下:
1) 將ScriptControl控件添加到工具箱;
2) 在窗體上放置ScriptControl控件;
3) 設(shè)置ScriptControl控件的Language屬性為vbscript;利用Eval方法使用戶可以根據(jù)實際需要,在界面輸入需要優(yōu)化的方程。
3 應(yīng)用實例
針對工程技術(shù)中的許多問題,建立的目標函數(shù)常可歸結(jié)為函數(shù)f(x)的形式,其最優(yōu)化設(shè)計的數(shù)學(xué)模型可簡化為:min f(x),x∈En或max f(x),x∈En。選取文獻[1]上的一個例題進行驗證。利用黃金分割法求目標函數(shù)為f(x)= x^2-7x+10的最優(yōu)解。已知初始區(qū)間為[2、8],取迭代精度e=0.35。
在軟件中選取黃金分割法優(yōu)化界面,輸入已知條件,如圖2所示。觀察輸出結(jié)果,可以得到極值點x=3.58344,極值f(x)= -2.24304。根據(jù)軟件優(yōu)化結(jié)果,發(fā)現(xiàn)和理論計算結(jié)果一致。
4 結(jié)束語
機械優(yōu)化設(shè)計軟件可以幫助工作設(shè)計人員簡化計算,縮短設(shè)計周期。但是,每一種優(yōu)化方法都具有一定的局限性,在設(shè)計時應(yīng)考慮求解問題的規(guī)模、數(shù)學(xué)模型的特性和復(fù)雜程度,及各類優(yōu)化方法的特點和應(yīng)用范圍,選取合適的算法進行優(yōu)化。
參考文獻:
[1] 陳秀寧.機械優(yōu)化設(shè)計[M].杭州:浙江大學(xué)出版社,2002.
[2] 孫靖民.機械優(yōu)化設(shè)計[M].北京:機械工業(yè)出版社,2004.
[3] 孟兆明,常德功.機械最優(yōu)設(shè)計技術(shù)[M].北京:化學(xué)工業(yè)出版社,2002.
[4] 施光燕,董加禮.最優(yōu)化方法[M].北京:高等教育出版社,2003.
[5] 裴喜春,王健,周根寶.Visual Basic程序設(shè)計教程[M].內(nèi)蒙古:內(nèi)蒙古大學(xué)出版社,2002.