在實驗室的仿真任務(wù)中接觸到對進化算法進行性能測試的部分,在這里做一個簡單總結(jié)
常用性能測試函數(shù):
ZDT1-6:雙目標性能測試函數(shù)
DTLZ1-7:三目標性能測試函數(shù)
標準曲線數(shù)據(jù):https://www.cs.cinvestav.mx/~emoobook/apendix-d/apendix-d.html
相關(guān)工具箱:
1. matlab optimization boolbox工具箱(沒研究明白/(ㄒoㄒ)/~~)
2. python的geatpy,目前使用最廣泛的多目標優(yōu)化工具箱
工具箱下載安裝鏈接:http://www.geatpy.com
github鏈接:https://github.com/geatpy-dev/geatpy/tree/master/geatpy/testbed/moea_test?tdsourcetag=s_pcqq_aiomsg
用進化算法跑測試集的具體用法:
這個方法是群里某大佬教的节预,感謝大佬(????)
第一步:連接測試集
第二步:實例化算法模板
第三步:運行
遇到這種工具箱類的問題羊赵,先告訴自己漏麦,鍛煉出總結(jié)提煉相應(yīng)的步驟的能力骗灶,提煉要點游添,然后在每個環(huán)節(jié)把各個步驟做好系草,嗯嗯
python操作技巧:
- 查看已安裝的包
在python安裝包下->Script->shift+右鍵,打開shell唆涝,用pip list
命令查看
pycharm的使用方法
首先介紹一下 anaconda:發(fā)行版的python找都,將python和許多常用的package打包,方便pythoners直接使用石抡,anaconda的介紹:http://www.reibang.com/p/2f3be7781451
anaconda的安裝和使用:
下載安裝包檐嚣,按照默認配置安裝,安裝包鏈接https://www.anaconda.com/distribution/#download-section
創(chuàng)建不同版本的python環(huán)境,來管理python版本:在Anaconda頁面的Environment按鈕中嚎京,點擊Create創(chuàng)建環(huán)境嗡贺,可以選擇不同的python版本,如下:
管理已安裝和未安裝的包
選擇環(huán)境名稱鞍帝,Anaconda頁面右側(cè)會顯示已安裝的包诫睬,在選擇列表中選擇查看已安裝/未安裝的包在Anaconda運行python程序:
可用Spyder,在Anaconda主頁面可以找到帕涌,長下面這樣:
先選中環(huán)境變量摄凡,再在Home頁面進行安裝,可以安裝對應(yīng)環(huán)境的Spyder
conda命令:
conda命令的作用是可以管理 包 蚓曼、依賴和管理 環(huán)境亲澡,Anaconda導航器的作用就是在conda的基礎(chǔ)上加了用戶界面,更方便操作
conda命令可以作用于多種語言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN
conda命令的使用方法在以下鏈接中有較詳細的介紹:
http://www.reibang.com/p/2f3be7781451
conda的其它命令:
查看目前所用的python版本路徑:where python
(Windows)
查看conda是否放在了環(huán)境變量中:echo %PATH%
(Windows)
IPython-python交互模式
python交互模式與命令行模式的區(qū)別及用法:
https://blog.csdn.net/qq_36309480/article/details/82702021
python交互模式除了可以直接運行代碼外纫版,還可以查看內(nèi)置函數(shù)的源碼:https://blog.csdn.net/G_66_hero/article/details/76392004
ipython console中不僅可以查看源碼(用上面鏈接中介紹的help()命令)床绪,還可以在調(diào)試時查看調(diào)試信息:http://www.reibang.com/p/082b20fcafea
調(diào)試中一些常用的ipython console命令和調(diào)試操作有:
-
!變量名
或!(變量名)
: 表示查看變量值 -
c
:表示調(diào)試工具欄的第5個按鈕的功能,表示continue execution util next breakpoint
其弊,跳到下一個斷點
- 斷點:不帶條件的斷點(雙擊代碼行首)和帶條件的斷點(ctrl+shift+雙擊代碼行首(該操作還可用于查看斷點附帶的條件)癞己,符合條件才會中斷),取消時都是雙擊代碼行首
-
%reset
: 清空ipython工作空間中的變量
以下是亂亂的筆記:
python編程中的知識點:
Numpy中stack()梭伐,hstack()痹雅,vstack()函數(shù)詳解
python編程中容易出現(xiàn)的錯誤:
- 對于array數(shù)組的深拷貝,即將array數(shù)組在另一塊內(nèi)存地址中復(fù)制一份糊识,對兩個array數(shù)組進行操作時绩社,其中的數(shù)據(jù)是獨立的兩份,兩個array數(shù)組互不干擾技掏,用b=a.copy()得到array a的深拷貝array b
參考鏈接:https://blog.csdn.net/lc_lc2000/article/details/53135839給出了對list和array進行拷貝的不同之處
TypeError: 'int' object is not iterable
在for循環(huán)語句中出現(xiàn)铃将,應(yīng)寫為for i in range(len)
,其中l(wèi)en是需要迭代的次數(shù)哑梳,表示i從0循環(huán)到len-1ValueError: zero-size array to reduction operation maximum which has no identity
TypeError: 'module' object is not callable
其它求解軟件
1.gurobi求解器
2.cplex