> For the complete documentation index, see [llms.txt](https://eeman.gitbook.io/twinbuilder-applications/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://eeman.gitbook.io/twinbuilder-applications/optimetrics/optimization_1.md).

# Optimization\_1

筆者以一個電容的阻抗，用Simplorer來做最佳化的案例示範。

圖1-3是一個1uF電容的電容阻抗圖，裡面包含大小與相位的阻抗頻譜，接著筆者利用Simplorer的optimization來做參數Fitting。

<figure><img src="https://2827920435-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8xt9DGoN1KlFDfntqd33%2Fuploads%2FVhtlRp4GGj6GDiIQDedc%2Fimage.png?alt=media&amp;token=a30d992f-6694-403f-a7da-7635a5d21917" alt=""><figcaption><p>圖1-3</p></figcaption></figure>

開啟Ansys AEDT的Simplorer，在Simplorer中，匯入欲Fitting的阻抗大小至2D Lookup Table XY。

由目標的阻抗來看，並非理想的電容，因此筆者假定電容的非理想模型是由串連的電阻、電容、電感組成。在未開始執行最佳化分析前，筆者先給一組猜想假定的元件值(L1 : 1nH, C1 : 0.5uF, R1 10mOhm) <mark style="color:orange;">(註 2)</mark>。

這邊定義兩組參數在Equations的工具中，分別是Zin 與Zdif。Zin是我們的模擬阻抗；Zdif是模擬阻抗值與目標值的差值再做平方，用來最佳化的目標函數。請參考圖1-4。

<figure><img src="https://2827920435-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8xt9DGoN1KlFDfntqd33%2Fuploads%2FUs1OeLgz080EURYbfB15%2Fimage.png?alt=media&amp;token=85167e5d-e7c8-40f2-9674-a459b29278b4" alt=""><figcaption><p>圖1-4</p></figcaption></figure>

在初始的猜想，模擬與目標阻抗有一段落差。如圖1-5阻抗圖，綠色是目標值；而紅色為模擬值。

<figure><img src="https://2827920435-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8xt9DGoN1KlFDfntqd33%2Fuploads%2FGylBhZwggvnFXEgQYhKk%2Fimage.png?alt=media&amp;token=1bfe4d34-46d8-437e-99ff-771d02fd003c" alt=""><figcaption><p>圖1-5</p></figcaption></figure>

電路拓譜完成後，在AEDT左邊的專案設定，找到Optimetrics -> Optimization，這個是AEDT中的簡易最佳化工具。

點進去後，首先在Goals的頁面中，頭一個選項是Optimizer，當中可以看到有需多演算法提供使用者做選用，甚至也可以結合Matlab做使用，讀者請依設計的考量做選用。

再來是設定所要計算的目標函數，並選定所要計算的目標頻率<mark style="color:orange;">(註 3)</mark>。此範例的目標頻率，筆者選定高頻阻抗共振點 1.58MHz。Optimetrics Goals的最後一步是在Condition欄位，設定最小值的收尋條件。

<figure><img src="https://2827920435-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8xt9DGoN1KlFDfntqd33%2Fuploads%2FxReQQBhuIDmwl4tedpJ1%2Fimage.png?alt=media&amp;token=2a18d1d0-5226-49cf-81a5-7ee47d6e7740" alt=""><figcaption><p>圖1-6</p></figcaption></figure>

同樣Setup的次頁Variable，點入Edit Variable，選擇Optimization/Design of Experiments。選取要做Fitting的變數include進來。同步的在Setup Optimization中，就看到變數被選入，再做範圍的設定。

Variable的設定這邊要特別注意，大部分初次的使用者不容易成功匯入變數。

到此，Optimetrics的設定就結束了，其他內容的細節，讀者可以自行調整。

<figure><img src="https://2827920435-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8xt9DGoN1KlFDfntqd33%2Fuploads%2F8ziWseeKdkJhPAfCkYHq%2Fimage.png?alt=media&amp;token=e0e03ae9-08fe-4ec8-ae56-bffc774073e6" alt=""><figcaption><p>圖1-7</p></figcaption></figure>

HPC是用來做加速分析計算，尤其適合多參數最佳化的分析，未購入HPC的使用者還是可以使用軟體預送的四核心，設定請參考圖1-8。非常建議使用者作HPC的設定，可以大幅縮短模擬時間。詳細的說明請參考[Asys HPC Introduction](https://eeman.gitbook.io/ansys-hpc-introduction/)。

<figure><img src="https://2827920435-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8xt9DGoN1KlFDfntqd33%2Fuploads%2FJcGhuUUMAsIINDQ5qa76%2Fimage.png?alt=media&amp;token=344cc9a4-733c-4e3a-921b-a5435880d5b2" alt=""><figcaption><p>圖1-8</p></figcaption></figure>

上面步驟完成後，接著執行分析。此範例筆者選用Adaptive Muitiple-Objective (Random Search)的演算法，經過前期的震盪劇烈變化後，100個以後的演化資料逐漸收斂。

<figure><img src="https://2827920435-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8xt9DGoN1KlFDfntqd33%2Fuploads%2FhudN6RggN2rvUZ7SZTGu%2Fimage.png?alt=media&amp;token=dcae3cbc-97d3-446e-afdf-89d1d085f4b6" alt=""><figcaption><p>圖1-9</p></figcaption></figure>

筆者選定Cost最小的一組 (Evaluation :477)來當最後的最佳化值，利用Apply按鍵，RLC參數自動放到電路中，再一次對電路重新模擬。

<figure><img src="https://2827920435-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8xt9DGoN1KlFDfntqd33%2Fuploads%2FHM8y9ViF7y1z0VUsxGKJ%2Fimage.png?alt=media&amp;token=086f87cc-8646-4327-bc72-2dd01e295d21" alt=""><figcaption><p>圖1-10</p></figcaption></figure>

最後使用Fitting的RLC參數做阻抗分析，頻譜圖與目標的阻抗幾乎一致，且電容值也貼近本來的1uF。

<figure><img src="https://2827920435-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8xt9DGoN1KlFDfntqd33%2Fuploads%2F4u3G6KfW8I5HiuNkm9Yt%2Fimage.png?alt=media&amp;token=83498a54-2f44-443f-a402-df1e6a5db034" alt=""><figcaption><p>圖1-11</p></figcaption></figure>

以上為使用Optimization的案例演示，此方法也可以應用到其他的AEDT軟體中，例如HFSS、Maxwell、Q3D...等。但還是要提醒讀者，Optimetrics的功能與演算法較簡單，有進階最佳化需求，請考慮使用optiSLang。

<mark style="color:orange;">註 2: 推導阻抗方程式，再利用數學求解，會較快速的找到一組接近實際的假定值，由此基礎值再做最佳化，才容易快速找到最佳解。</mark>

<mark style="color:orange;">註 3: 如果要考量整體頻譜的響應，請參考下一章節的 Optimization\_2。</mark>
