遺傳演算法做整數規劃(0 1優化)Python實現

2021-09-29 08:29:17 字數 695 閱讀 3691

scikit-opt 這個庫以很好用的方式實現了遺傳演算法的應用,是目前能找到的較好的遺傳演算法工具箱

pip install scikit-opt
在多維優化時,想讓哪個變數限制為整數,就設定precision為 1即可。

例如,我想讓我的自定義函式demo_func的第乙個變數限制為整數,那麼就設定precision的第乙個數為1,例子如下:

from sko.ga import ga

demo_func =

lambda x: x[0]

**2+(x[1]

-0.05)**

2+ x[2]

**2ga = ga(func=demo_func, n_dim=

3, max_iter=

500, lb=[0

,0,0

], ub=[1

,1,1

], precision=[1

,1e-7

,1e-7

])best_x, best_y = ga.run(

)print

('best_x:'

, best_x,

'\n'

,'best_y:'

, best_y)

遺傳演算法進行整數規劃(0 1優化)Python實現

scikit opt 這個庫以很好用的方式實現了遺傳演算法的應用,是目前能找到的較好的遺傳演算法工具箱 pip install scikit opt在多維優化時,想讓哪個變數限制為整數,就設定precision為 1即可。例如,我想讓我的自定義函式demo func的第乙個變數限制為整數,那麼就設定...

遺傳演算法優化例子

遺傳演算法的手工模擬計算示例 為更好地理解遺傳演算法的運算過程,下面用手工計算來簡單地模擬遺傳演算法的各個主要執行步驟。例 求下述二元函式的最大值 1 個體編碼 遺傳演算法的運算物件是表示個體的符號串,所以必須把變數 x1,x2 編碼為一種 符號串。本題中,用無符號二進位制整數來表示。因 x1,x2...

ROS路徑規劃 遺傳演算法

注意 首先將ga下的src資料夾改名為ipath 在ga src資料夾下執行命令 make從ga src evaluateplanners genetic algorithm資料夾下開啟檔案evaluatega.cpp,配置如下引數 int numberofscenarios 2 the numbe...