多目標(biāo)優(yōu)化設(shè)計(jì)完整過程

[/attach]用的是9.0版。


1. 我們用optistruct時只能有一個objective.如下圖:多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖1多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖2

我只用過min,其他三個我沒有用過。特別是后兩個,誰用過說一下。

2.我們可以設(shè)置多個response,可以把很多responsedconstraint約束,但是只能有一個objective。有時我們需要同時滿足某幾個response的最小值或是最大值。但是deconstraint只能設(shè)置response的上限或是下,不能設(shè)置為min或是max。(聽說可以將上限和下限設(shè)置成相近的值可以使約束近似定為某一確定的值)。

多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖3

多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖4

3.多目標(biāo)其實(shí)在help里有說明,如下。

DRESP2 – Design Response via equations for design optimization

Description

When a desired response is not directly available from OptiStruct, it may be calculated using DRESP2. This response can be a functional combination of any set of responses that are the result of a design analysis iteration. These responses can be used as a design objective or as design constraints. The DRESP2 card identifies the equation to use for the response relationship and the input values to evaluate the response function.

我看過一些論文,現(xiàn)在還沒有什么新的理論可以實(shí)現(xiàn)多目標(biāo)(可能我沒有發(fā)現(xiàn)),現(xiàn)在對多目標(biāo)的處理情況是response用函數(shù)關(guān)聯(lián)起來,將不同的response設(shè)置為函數(shù)的變量,把多目標(biāo)處理成為一個單目標(biāo)。方程形式如下:f=w1*response1+w2*response2

W1,w2 為權(quán)值。

Optistruct中就是如此處理的,

首先在dequation中設(shè)置方程,如下圖:多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖5

我對設(shè)置方程還有些地方?jīng)]有弄明白,我只是舉個簡單的例子。(希望哪位高人能把編輯方程的詳細(xì)過程,及要注意的地方,單獨(dú)發(fā)個帖子,特別是復(fù)雜的方程的編寫過程。)

4. 寫方程。

我以單工況情況下最小化compliance和最大化一階固有頻率為例子,(這個最簡單,多工況的情況,和這個差不多).

寫方程時,我們不能簡單的將方程寫成f=w1*response1+w2*response2形式,因?yàn)?/font>w1*response1的值和w2*response2值可能會相差太大,并且兩者的值很可能不是同時變大或是同時變小。所以我們要對兩個response作一定的數(shù)學(xué)處理。(至于為什么要這樣,大家可以想明白)。數(shù)學(xué)處理的方法很簡單,我主要是通過看這篇論文想到的:

汽車車架結(jié)構(gòu)多目標(biāo)拓?fù)鋬?yōu)化方法研究 范文杰,范子杰,蘇瑞意 (強(qiáng)烈推薦)

Multiobjective optimal topology design of structures
T.-Y. Chen, S.-C. Wu

Uni?ed topology design of static and vibrating structures
using multiobjective optimization

Seungjae Min, Shinji Nishiwaki, Noboru Kikuchi

多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖61

至于為什么這樣處理,都至少是本科生了,這個我想不需要說明(數(shù)學(xué)處理的方法肯定不只這一種,這個比較簡單,也好理解,誰要是有其他的處理方法,大家討論一下)

這里只討論一個工況情況下,k=1多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖7=1, 方程1里面的參數(shù)自己看論文去。

多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖8是我們設(shè)置的參數(shù),為柔度,

多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖9怎么得到:以原模型做分析,原模型的柔度應(yīng)該是最小的,因?yàn)槲覀円獪p小模型的柔度,提高剛度。它的值可以在out文件中取得。

多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖10怎么得到:將增加了設(shè)計(jì)區(qū)域的模型進(jìn)行拓?fù)鋬?yōu)化,objective設(shè)為compliance最小,經(jīng)過優(yōu)化可以得到最小的compliance值,out文件中可以取得。

多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖11為我們設(shè)置的變量,一階固有頻率。

多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖12怎么得到:將增加了設(shè)計(jì)區(qū)域的模型進(jìn)行拓?fù)鋬?yōu)化,objective設(shè)為frequency最大,out文件中可以得到優(yōu)化后最大值。

多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖13怎么得到:將原模型進(jìn)行分析,得出的值為最小值,因?yàn)槲覀円玫奖冗@個大的值。

W為權(quán)值,01之間,我們可以設(shè)置不同的權(quán)值,得出不同的結(jié)果,然后作出比較。

寫方程:

我是用多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖14

這在help里面有,大家自己看。

多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖15

多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖16

注意左邊必需有變量的列表,我當(dāng)時就搞了好久才試出來。我對編寫方程不熟,看了好久也沒有完全搞懂,很希望有位高手出來說說。

5.將方程中的變量和要優(yōu)化的response聯(lián)系起來。

1)首先要定義要用到的response,本例中是compliance最小,和frequency最大。

2)然后定義一個類型為functionresponse

多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖17

3)在dequation中選已經(jīng)定義的方程。其他有關(guān)no regiond之類的設(shè)置我不懂,大家討論。

4)點(diǎn)擊edit.

多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖18

這里面是關(guān)鍵了,我只會用responseresponse_by_loadstep,其他是什么意思我也不懂,(很想知道),我只是碰巧試出來的。

Response有兩種,這兩種只能存在一個(也不知道為什么),選擇一個后,另一個沒有了。選第三個是沒有loadstep的,第四個是有loadstep的,這就要看定義objective時是否要loadstep,比如我們在objective中定義frequency最大時,要選loadstep,在objective中定義compliance最小是也要選loadstep。這要看設(shè)置的response了,這里例子中選的是第四個。

打勾后如下圖:

多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖19

方框中的數(shù)字2是設(shè)置的response個數(shù),有幾個寫幾個。然后在黃色的按鍵中點(diǎn)相應(yīng)的responseloadstep注意,response的選擇必需方程中它所對應(yīng)的變量相對應(yīng),比如:x1代表最小化compliance,那么第一個response必需選compliance最小。順序要對應(yīng)。。。

6. objective中定義,和平常的做法一樣。

多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖20

結(jié)束語: 這是我自己摸索出來的方法,有很多地方不清楚,我只是把我發(fā)現(xiàn)問題,解決問題的過程完整寫出來,可能不太通順。我也不保證完全正確,希望大家能完善一下。

想解決的問題:

1. 比較復(fù)雜的方程編寫,例子中我只寫了一行方程,不知道多行怎么寫。不知道多個方程之間的變量是如何調(diào)用的,我試著寫個多行的方程,但是在定義function類型的response時,只有第一行的那個方程可以用,其他行方程沒有顯示。

2. 下圖中的其他幾個變量用法我不懂,想搞清楚, 多目標(biāo)優(yōu)化設(shè)計(jì)完整過程的圖21

第一個是不是將不同的design_variables聯(lián)系起來?第二個是什么意思?第五個nodes是不是將不同的設(shè)計(jì)區(qū)域聯(lián)系起來?第六個我不知道是什么意思?

我發(fā)這個只是起拋磚引玉的作用,大家有什么不同的看法,希望一起討論一下。


登錄后免費(fèi)查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺客服

TOP

2
9
1