遗传算法做整数规划(0-1优化)Python实现

scikit-opt 这个库以很好用的方式实现了遗传算法的应用,是目前能找到的较好的遗传算法工具箱

去这里 scikit-opt 下载源代码。或者用pip安装:

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] ** 2
ga = 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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章