酷知百科網

位置:首頁 > 遊戲數碼 > 互聯網

matlab中多目標規劃怎麼求解

互聯網2.52W

有時候我們在使用matlab的時候,想進行多目標規劃求解,怎麼求解呢,下面來分享一下方法

matlab優化求解常用函數

(01)第一步我們首先需要知道matlab優化工具箱中常用的幾種函數,fmincon函數,fminimax函數,fgoalattain函數,linprog函數四種,它們的詳細介紹如下圖所示:

matlab中多目標規劃怎麼求解

(02)第二步求解多目標規劃函數,一般有理想點法,最大最小法,主要目標法,線性加權和法四種算法,下面透過實例來介紹一下幾種算法求解,如下圖所示:

matlab中多目標規劃怎麼求解 第2張

理想點法求解多目標規劃

(01)第一步在我們的電腦上開啟matlab,透過linprog函數分別求出f1(x)的最大值和f2(x)的最大值,兩個最優解就是多目標規劃的最優解,這是一種理想狀態,在命令行視窗中輸入如下圖所示,可以看出f1(x)的最大值爲12

matlab中多目標規劃怎麼求解 第3張

(02)第二步在命令行視窗中輸入如下圖所示代碼,求解出f2(x)的最大值爲24,整個理想點法求出的理想點是(12,24)

matlab中多目標規劃怎麼求解 第4張

目標規劃法求解多目標規劃

(01)第一步透過目標規劃法和fgoalattain函數來求解上面方程的最大值,在matlab中先創建一個myfun3()函數,輸入如下圖所示:

matlab中多目標規劃怎麼求解 第5張

(02)第二步在命令行視窗中輸入如下圖所示代碼,按回車鍵可以看到求出的最優點是(12,18)

matlab中多目標規劃怎麼求解 第6張

最大最小法求解多目標規劃

(01)第一步透過最大最小法和fminimax函數來求解上面方程的最大值,可以看到,解出的最優點也是(12,18),如下圖所示:

matlab中多目標規劃怎麼求解 第7張