?歡迎!這是一個伴隨論文reevo的代碼庫:大型語言模型作為反射性演變的超高術。
給Reevo 5分鐘,並獲得最先進的算法作為回報!
我們介紹了語言超聲術(LHHS) ,這是一種新興的超高術(HHS),它利用LLMS進行啟發式生成,具有最小的手動干預和開放式啟發式啟發式空間。
為了增強LHHS的能力,我們提出了反思性演變(REEVO) ,這是一個通用的搜索框架,它模擬了人類專家的反思性設計方法,同時以其可擴展的LLM推斷,Internet規模域知識和強大的進化搜索超過了人類能力。
我們可以改善以下類型的算法:
關於以下問題:
帶有黑框和白色框設置。
./outputs/main/
中。./problems/*/test.ipynb
中提供。 您可以通過pip install -r requirements.txt
安裝上面的依賴項。
特定問題的依賴性:
tsp_aco(_black_box)
:pytorch,scikit-learncvrp_aco(_black_box)
/ mkp_aco(_black_box)
/ op_aco(_black_box)
/ NCO
:pytorchtsp_gls
:numba == 0.58 # e.g., for tsp_aco
python main.py
problem=tsp_aco # problem name
init_pop_size=4 # initial population size
pop_size=4 # population size
max_fe=20 # maximum number of heuristic evaluations
timeout=20 # allowed evaluation time for one generation
請訪問./cfg/
以獲取更多選項。
tsp_aco
, tsp_aco_black_box
, tsp_constructive
, tsp_gls
, tsp_pomo
, tsp_lehd
cvrp_aco
, cvrp_aco_black_box
, cvrp_pomo
, cvrp_lehd
bpp_offline_aco
, bpp_offline_aco_black_box
, bpp_online
mkp_aco
, mkp_aco_black_box
op_aco
, op_aco_black_box
dpp_ga
./cfg/problem/
中定義您的問題。./problems/
中實施評估管道。./prompts/
中添加function_description,function_signature和seed_function。默認情況下:
f"./problems/YOUR_PROBLEM/gpt.py"
中,並將導入到./problems/YOUR_PROBLEM/eval.py
for tsp_aco)中, reevo._run_code
。./problems/YOUR_PROBLEM/eval.py
/your_problem/eval.py(例如,tsp_aco)應將元觀點值打印為STDOUT的最後一行,由reevo.evaluate_population
用於啟發式評估。 使用CLI參數llm_client
指定LLM API提供商和llm_client.model
來確定要使用的模型。例如,
$ export LLAMA_API_KEY=xxxxxxxxxxxxxxxxxxxx
$ python main.py llm_client=llama_api llm_client.model=gemma2-9b
支持的LLM API提供商和模型包括(注意僅支持聊天模型):
如果您使用我們的代碼遇到任何困難,請隨時提交問題或直接與我們聯繫!
如果您有任何疑問或想與我們討論Reevo,我們也會感到懈怠。我們願意進行合作,很樂意收到您的來信
如果您發現我們的工作有幫助(或者您很友善以為我們提供一些鼓勵),請考慮給我們一顆星星,並引用我們的論文。
@inproceedings { ye2024reevo ,
title = { ReEvo: Large Language Models as Hyper-Heuristics with Reflective Evolution } ,
author = { Haoran Ye and Jiarui Wang and Zhiguang Cao and Federico Berto and Chuanbo Hua and Haeyeon Kim and Jinkyoo Park and Guojie Song } ,
booktitle = { Advances in Neural Information Processing Systems } ,
year = { 2024 } ,
note = { url{https://github.com/ai4co/reevo} }
}
我們非常感謝Yuan Jiang,Yining Ma,Yifan Yang和AI4CO社區的寶貴討論和反饋。
此外,我們的工作是建立在以下項目之上的: