# 最佳化設計筆記 CH1 最佳化的概念 ## 前言 本篇採自2025的最佳化設計課程,由我聽課時老師所口述的知識點所撰寫,觀點可能較為侷限,僅供參考 並且,本學期課程計分方式有所變動,期中考占比40%,會較為硬核,故本篇會有大量外部補充知識 ## CH 1.1 最佳化的數學概念 要分析一個系統的最佳化設計,首先一定是將它以數學的方式表達出 輸入-響應 的對照關係,如圖 ![image](https://hackmd.io/_uploads/r1FtGIgcJg.png) 而一般多項式的最佳化,泛指那些可被推導的最小極值,例如一階導函數等於零之類的 但是真實世界的物理系統多半複雜難解,無法被輕易的找到極值,如果毫無頭緒的去尋找其微分方程式的響應值,很可能會有過擬合等現象發生 為此,我們先來看看一些基本概念: ### f(x) Objective Func. // g(x) constraint Func. f(x)是我們需要觀察的響應函數,g(x)是邊界函數,當我們定義好邊界條件後,即可透過離散數學的方法,計算響應值的微分,此處是二分法的範例 ![image](https://hackmd.io/_uploads/BySt98x9yl.png) |![image](https://hackmd.io/_uploads/rk9CYUgqJx.png)|![image](https://hackmd.io/_uploads/BJVy58l5Je.png)| |-|-| ## CH 1.2 最佳化的程式概念 當我們決定好算法後,再來就是利用程式碼跑繁瑣的計算流程,但程式碼有一個很頭痛的特性,單執行序,這意味著程式碼必須線性的執行每一個動作(這裡不討論GPU運算),所以我們需要創造一個閉環條件,讓每一次的執行結果疊代到下一次的初始值上,並且設立一個差值檢測機制,當差值小於預設值時跳脫閉環,結束最佳化運算 看起來挺眼熟,沒錯這就是自動控制的閉環程式碼,邏輯幾乎一致,也就是說,只要會離散數學的微積分,那就可以輕易上手最佳化算法 ## CH 1.3 結語 這堂課是第一堂,還沒真正進入到最佳化設計當中,但介紹了許多重要概念,最佳化算法不僅是一個數學概念,它本身和程式設計是分不開的,學會最佳化的過程中,想必程式設計的能力也能增進不少 ## 參考資料 [資料1](https://web.ntnu.edu.tw/~algo/Optimization.html) [資料2](https://ntustmedal.wordpress.com/teaching/)